Object.isExtensible()

admin發表於2018-09-17

此方法可以判斷物件是否是可以擴充套件的。

也就是判斷是否可以為物件新增新的屬性。

返回值是布林型,true,說明可以新增,false,說明不能新增。

可以通過Object.preventExtensions方法將物件設定為不可擴充套件。

更多內容可以參閱JavaScript Object 物件一章節。

ES5新增此方法。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
Object.isExtensible(object)

引數說明:

(1).object:必需,要進行判斷的物件。

瀏覽器支援:

(1).IE9+瀏覽器支援此方法。

(2).edge瀏覽器支援此方法。

(3).谷歌瀏覽器支援此方法。

(4).火狐瀏覽器支援此方法。

(5).opera瀏覽器支援此方法。

(6).safria瀏覽器支援此方法。

程式碼例項:

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

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/17/110836pcdczoshcdd0dddd.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

預設狀態下,物件是可擴充套件的,所以返回值是true。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let antzone={
  webName:"螞蟻部落",
  url:"softwhy.com"
}
Object.preventExtensions(antzone);
console.log(Object.isExtensible(antzone))

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/17/110914va7a5jjuojvu3onc.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上面程式碼,首先使用Object.preventExtensions將物件設定為不可擴充套件。

這時候Object.isExtensible方法的返回值就是false。