标签:
//修改属性默认值使用object.defineProperty(),接收三个参数,属性所在的对象,属性的名字和一个描述符对象
//描述符对象必须为configurable、enumerable、writable、value;
var person = {}; Object.defineProperty(person,‘name‘,{ //不能从对象中删除属性 configurable: false, value: ‘Nicholas‘ }); //Nicholas alert(person.name); //非严格下不会造成什么,也不会改变,但是严格下就会报错,configurable: false,能从对象中删除属性 delete person.name; //Nicholas alert(person.name);
如果configurable: true,
var person = {}; Object.defineProperty(person,‘name‘,{ //不能从对象中删除属性 configurable: true, value: ‘Nicholas‘ }); //Nicholas alert(person.name); //非严格下不会造成什么,也不会改变,但是严格下就会报错,configurable: false,能从对象中删除属性 delete person.name; //undefined alert(person.name);
标签:
原文地址:http://www.cnblogs.com/shenq/p/5227556.html