window.onload=function () { /* 对象标签: [[proto]]:原型链 [[class]]:toString [[extensible]]:表示对象的属性是否可以添加。 object.preventExtensible(obj);//使obj对象不可新增属性,原属性可改、可删 Object.seal(obj);//使obj不可新增属性,原属性可改但不可删 Object.freeze(obj);//使obj不可新增属性,原属性不可更改、删除 注意,当Object.freeze(obj)后,Object.isSeal(obj)返回的也是true,也就是说,Object.isSeal(obj)返回true,其原属性也可能不可改。*/ var obj={'x':1,'y':2,'z':3} console.log(Object.isExtensible(obj))//true 该对象属性是可以扩展 Object.preventExtensions(obj)//阻止obj对象扩展属性 console.log(Object.isExtensible(obj))//false 该对象属性是不可扩展 obj.c=4; console.log(obj.c)//undefined Object.getOwnPropertyDescriptor(obj,'x');//obj的enumerable、configurable、writable标签都为true Object.seal(obj)//obj的configurable为false console.log(Object.getOwnPropertyDescriptor(obj,'x')) console.log(Object.isSealed(obj))//true 表示该对象被seal 被隐藏 ,不可新增属性,原属性可以改但不能删除 Object.freeze(obj)//obj的configurable、writable标签都为false console.log(Object.getOwnPropertyDescriptor(obj,'x')) console.log(Object.isFrozen(obj))//true 该对象不可写,冻结, 不可新增属性}