1.Object.create(prototype[,descriptors]) 創(chuàng)建一個(gè)對(duì)象。
**2.Object.defineProperty(O,Prop,descriptor)/Object.defineProperties(O,descriptors) **
descriptor 是 property的更多描述,可以用一組鍵值對(duì)表示;
Object.defineProperty(o,'age', {
value: 24, //值
writable: true, //是否只讀
enumerable: true, //是否可枚舉(for in)
configurable: true //是否可刪除
});
/*或者可以同時(shí)定義多個(gè)屬性*/
Object.defineProperties(o, {
'age': {
value: 24,
writable: true,
enumerable: true,
configurable: true
},
'sex': {
value: 'male',
writable: false,
enumerable: false,
configurable: false
}
});
3.Object.getOwnPropertyDescriptor(O,property) 獲取設(shè)置的property的特性
4.Object.getOwnPropertyNames 獲取所有屬性名,返回?cái)?shù)組
5.Object.keys() 獲取所有可枚舉的屬性,返回?cái)?shù)組
6.Object.preventExtensions(O) 鎖住,使該對(duì)象不能增加新屬性,但是仍可更改和刪除
7.Object.seal(O) 密封,不能增加也不能刪除屬性,但仍可更改
8.Object.freeze(O) 凍住,不能增加、刪除、修改,所有屬性writable 全部設(shè)為false。