1 声明
1 var person = new Object();
person.name = "Jackey";//属性
person.age = 20;//属性
person.sayName = function(){};//方法
2 var person = {
name:"Jackey",
age:20,
sayName:function(){}
};
2 属性类型
1 [Configurable] 表示能否通过delete删除属性/能否修改属性的特性
/能否把属性修改为访问器属性。默认为true
2 [Enumerable]表示能否通过for-in循环返回属性,默认为true
3 [Writable] 表示能否修改属性的值,默认为true
4 [Value]包含这个属性的数据值,读取属性值的时候,从这个位置读。写入属性值的时候
把新值保存到这个位置。默认值为undefined
var person = {
name:"Jackey"
};
将[Value]设置为Jackey,如果要修改属性的默认特性,必须使用ECMAScript5的object.definedProperty()
这个方法必须接受3个参数:属性所在对象(person),属性的名字,描述符对象。
var person={};
Object.definedproperty(person,"name",{
writable:false,
value:"Cassi"
});
person.name="Jackey";//不能修改
alert(person.name);//Cassi
configurable 设置为false:不能删除对象中的属性
var person = {};
Object.definedProperty(person,"name",{
configurable:false,
value:"Jackey"
});
alert(person.name);//Jackey
delete person.name;
alert(person.name);//Jackey不能删除,可正常显示
一旦修改了属性的configurable writable属性,就不能再修改了,否则会报错
ie8是第一个实现Object.definedProperty方法的浏览器
访问器属性:getter setter:省略