标签:
本文是金旭亮老师网易云课堂的课程笔记,记录下来,以供备忘。
1 var myObject = {};
之后便可以向它添加新成员:
1 myObject.name = "张三"; 2 myObject.age = 29;
对象字面量就是包围在一对花括号中的零或多个“name/value"对。
1 //通过对象字面量创建对象 属性的名字可以加也可以不加双引号 2 var person = { 3 "name": "张三", 4 age: 29 5 };
使用对象字面量方式,定义嵌套的对象很容易
1 //使用字面量创建嵌套的对象 2 var embedObj = { 3 info: "information", 4 //内嵌的对象 5 inner: { 6 id: 0, 7 value: 100 8 }, 9 //内嵌的数组 10 arr: ["one", "two", "three"] 11 };
1 //定义对象方法 2 var obj = { 3 sayHello: function (name) { 4 console.info("你好," + name + "!"); 5 } 6 }; 7 obj.sayHello("qiu"); //你好,qiu
2).也可以直接追加到现有对象中.
1 var obj2 = {}; 2 obj2.sayHello = function (name) { 3 console.info("你好," + name + "!"); 4 };
1 //访问对象 2 var exampleObj = { 3 info: "information", 4 //内嵌的对象 5 inner: { 6 id: 0, 7 value: 100 8 }, 9 //内嵌的数组 10 arr: ["one", "two", "three"], 11 //方法 12 sayHello: function (name) { 13 console.info("你好," + name + "!"); 14 } 15 }; 16 //使用点表示法访问对象属性 17 console.info(exampleObj.info); //information 18 console.info(exampleObj.inner.value); //100 19 console.info(exampleObj.arr[0]); //one 20 //如果要访问的属性不存在,可以使用||指定默认值 21 console.info(exampleObj.notExist || "属性默认值"); //属性默认值 22 //使用[]访问对象属性 23 console.info(exampleObj[‘info‘]); //information 24 //调用对象方法 25 exampleObj.sayHello(‘张三‘); //你好,张三 26 exampleObj[‘sayHello‘](‘李四‘); //你好,李四
1 //编程列出exampleObj对象的属性与方法 2 for (var p in exampleObj) { 3 console.info(p+ "类型:" + (typeof exampleObj[p]) ); 4 } 5 // info类型:string 6 // inner类型:object 7 // arr类型:object 8 // sayHello类型:function
1 //删除对象的属性与方法 2 delete exampleObj.info; 3 delete exampleObj.sayHello;
删除一个对象属性之后,再对它进行访问,将得到一个undefined。
1 //验证属性己删除 2 console.info(exampleObj.info);//undefined 3 console.info(exampleObj.sayHello === undefined); //true 4 //exampleObj.sayHello(‘张三‘); //TypeError
1 //使用&&避免出现TypeError导致后继代码无法执行 2 exampleObj.sayHello && exampleObj.sayHello(‘张三‘); 3 //尽管sayHello方法己被删除,上述代码得到一个undefined 4 //但后面的代码仍然可以继续执行
1 //作为函数参数的对象 2 function displayPerson(person) { 3 console.info(‘name=‘ + (person.name || ‘无名氏‘)); 4 console.info(‘age=‘ + (person.age || -1)); 5 }; 6 //使用对象字面量直接将对象传入 7 displayPerson({ 8 "name": "张三", 9 "age": 29 10 }); //name=张三 11 //age = 29 12 displayPerson({}); //name=无名氏 13 //age=-1
标签:
原文地址:http://www.cnblogs.com/xiaoguanqiu/p/4674919.html