Object.getOwnPropertyNames()
此方法可以獲取物件的屬性名稱,並儲存在陣列中。
返回值是存放屬性名稱的陣列。
特別說明:必須是自有屬性,自有屬性就是非原型鏈繼承的屬性。
更多內容參閱JavaScript Object 物件一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼Object.getOwnPropertyNames(object)
引數解析:
(1).object:必需,要獲取屬性名稱的物件。
瀏覽器支援:
(1).IE9+瀏覽器支援此方法。
(2).edge瀏覽器支援此方法
(3).谷歌瀏覽器支援此方法。
(4).火狐瀏覽器支援此方法。
(5).opera瀏覽器支援此方法。
(6).safria瀏覽器支援此方法。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼function Antzone(){ this.webName="螞蟻部落"; this.age=6; } Antzone.prototype={ address:"青島市南區" } let antzone=new Antzone(); console.log(Object.getOwnPropertyNames(antzone));
程式碼執行效果截圖如下:
antzone物件中的webName和age是自有屬性,它可以被Object.getOwnPropertyNames方法獲取到,address屬性來自於原型鏈,所以不能夠被方法獲取。
[JavaScript] 純文字檢視 複製程式碼執行程式碼let antzone={ webName:"螞蟻部落", age:6 } Object.defineProperty(antzone, "url", { value: "http://www.softwhy.com", enumerable: false }); console.log(Object.getOwnPropertyNames(antzone));
程式碼執行效果截圖如下:
雖然url屬性是不可列舉的,但是Object.getOwnPropertyNames方法依然可以獲取到。