ES5对象中数据属性

//注:可以直接复制所以代码到编辑器即可观看使用
//最简单的字面量创建
var Duixiang={
name:"kzy",
age:12,
fangfa:function(){
console.log(this.name)
}
}

//属性分两种
//1.数据属性(描述每个或者一个属性的行为的特性)
// (1) Configurable:表示能否通过delete删除属性或者删除后从新定义值,或者能把属性修改为访问器属性(接下来要说的属性),
// 默认为true。
// (2)Enumerable:表示能否通过for-in遍历属性的值,默认为true。
// (3)Writable:表示能否直接定义属性的值,默认为true。
// (4)Value:表示属性对应的值,默认值为undefined。
// 用到上面这些属性的API是 Object.defineProperty()
// 这个api用到三个参数,第一个参数描述的对象,第二个是对象的具体属性,第三个是对这个属性的描述
var a={}
Object.defineProperty(a,"name",{
writable:false, //是否可以直接改或写属性
configurable:false, //允许不允许删除
enumerable:true,//是否可以通过for-in得到属性
value:"123" //当前name属性的具体值
})
//测试是否加上name属性值为"123"
console.log(a.name)
//因为writable为false所以不能直接写数值
a.name="321"
console.log(a.name)//a的值不变
//因为configurable为false所以不能删除属性
delete a.name
console.log(a.name)//无法删除
//你可以复制以上代码 把值改成true以后 在看看控制台的值

posted @ 2018-03-16 17:21  子元君  阅读(955)  评论(0编辑  收藏  举报