JavaScript Object 物件

admin發表於2018-09-07

ECMAScript中其他物件(類)都是從Object物件(類)繼承而來。

按照C#或者Java等語言的表述,就是Object是其他所有類的基類。

Object物件(類)的所有方法和屬性都會被其他的物件所繼承。

特別說明:在ES2015之前,並沒有類這個概念。

例項程式碼:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var obj=new Object();
obj.webName="螞蟻部落";
console.log(obj.webName);

上面的程式碼是通過構造方法建立一個物件,然後為其新增一個自定義屬性。

也可以通過直接量方式建立一個物件,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var obj = {
  webName: "螞蟻部落",
  url:"www.softwhy.com"
}
console.log(obj.webName)

Object物件的屬性列表:

屬性描述
constructor返回建立當前物件的建構函式。
prototype    設定或返回陣列的原型物件。


Object物件的方法列表:

方法描述
Object.create()建立一個具有指定原型和指定屬性的物件。
Object.defineProperties()

可以一次性為物件修改或者新增多個屬性。

Object.defineProperty()

可以將指定屬性新增到物件或修改現有屬性的特性。

Object.freeze()

凍結一個物件。

Object.getOwnPropertyDescriptor()

獲取物件的指定屬性描述。

Object.getOwnPropertyNames()

獲取物件的屬性名稱

Object.getPrototypeOf()返回建立當前物件的建構函式。
Object.isExtensible()

判斷是否能夠向一個物件新增屬性。

Object.isFrozen()

判斷是否無法在物件中修改現有屬性的特性和值,且無法向物件新增新屬性

Object.isSealed()

判斷一個物件是否被密封。

Object.keys()

返回物件的可列舉屬性或者方法名稱。

Object.preventExtensions()

阻止向物件新增新的屬性,也就是阻止擴充套件物件。

Object.prototype.hasOwnProperty()

判斷物件是否擁有指定的屬性。

Object.prototype.isPrototypeOf()判斷一個物件是否在另一個物件的原型鏈中。
Object.prototype.propertyIsEnumerable()

檢測一個物件的屬性是否可以被列舉。

Object.seal()

把物件密封,也就是讓物件既不可以擴充也不可以刪除屬性。

相關文章