1,定義新的屬性來擴展對象 新方法:defineProperty() 實例: var data = {}; Object.defineProperty(data,"type",{ value: "primary", //設置初始值,不能改變,刪除, enumerable: true //可枚舉 }) ...
1,定義新的屬性來擴展對象
新方法:defineProperty()
實例:
var data = {};
Object.defineProperty(data,"type",{
value: "primary", //設置初始值,不能改變,刪除,
enumerable: true //可枚舉
});
console.log(data.type); //primary
特點:給對象添加一個屬性而不直接賦值,使我們對於對象的行為和狀態有了某些控制,
擴展總結: 限制——>
1,Object.preventExtensions(obj); 不允許給一個對象添加新的屬性
if(Object.isExtensible(obj)){ //判斷是否對象可擴展
//擴展對象
}
2,object.seal();阻止對屬性描述符的修改,且不允許添加新屬性
3,Object.freeze();凍結該對象,不能添加屬性,不能修改已有屬性
基礎功能瞭解,更深的用處還需多實踐,看別人的代碼,加油!