一、理解對象
阿新 • • 發佈:2017-11-18
for delet 對象 conf -i 什麽是對象 ava efi style
1 什麽是對象?
無需屬性的集合,其屬性可以包含基本值、對象或者函數。
可以把對象想象為散列表:無非就是一組 名-值對,其值是數據或函數。
1.1 屬性類型
ECMAScript中有兩種屬性:數據屬性和訪問器屬性
數據屬性:
- [[ Configurable ]]:能否通過delete刪除屬性重新定義屬性,能否修改屬性特性,或者把屬性修改為訪問器屬性。默認為true
- [[ Ebumberle ]]:能否通過for-in循環返回屬性,默認為true
- [[ Writable ]]:能否改寫屬性值,默認為true
- [[ Value ]]:包含這個屬性的數據值,默認為tundefined
要修改屬性默認特性,要用 Object,defineProperty() 方法。這個方法接受三個參數:屬性所在的對象、屬性的名字、一個描述符(descriptor)對象。
var person ={}; Object.defineProterty(person,"name",{ configurable:false, value:"Nick" }); alert(person.name) //Nick person.name="Tim"; alert(preson.name); //Nick
非嚴格模式下賦值將被忽略,嚴格模式下賦值操作將會拋出錯誤。
一旦 把configurable設置為false後,就再不能把它變回可配置了,即再設置為true後,會拋錯誤
在調用Object,defineProperty() 方法時,如果不指定,Configurable 、 Ebumberle、Writable 會默認為false.
一、理解對象