一 对象属性
a.对象定义:
无序属性的集合,其属性可以包含基本值、对象或者函数;
b.两种创建方式:
1.构造函数;
1 var person = new Object(); 2 person.name = "Winston"; 3 person.age = 32; 4 person.job = "Software Engineer"; 5 6 person.sayName = function(){ 7 console.log(this.name); 8 }
2.对象字面量;
1 var person = { 2 name:"Winston", 3 age:32, 4 job:"Software Engineer", 5 6 sayName:function(){ 7 console.log(this.name); 8 } 9 }
c.属性类型
1.数据属性,用Object.defineProperty修改
[[Configurable]] 能否修改属性特性、能否通过delete删除属性从而重新定义属性、能否把属性修改为访问器属性;
[[Enumerable]] 能否通过for-in循环返回属性,默认为false
[[Wirtable]] 能否修改属性的值,默认为false
[[Value]] 属性值
2.访问器属性,用Object.defineProperty定义
[[Configurable]] 能否修改属性特性、能否通过delete删除属性从而重新定义属性、能否把属性修改为访问器属性;
[[Enumerable]] 能否通过for-in循环返回属性,默认为false
[[Get]] 读取属性时调用的函数,默认为undefined
[[Set]] 写入属性时调用的函数,默认为undefined