Object.preventExtensions()

admin發表於2018-09-14

Object.preventExtensions方法可以設定一個物件為不可擴充套件。

也就是不能再為此物件新增新的屬性或者方法。

方法返回值是物件本身。

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

ES5新增此方法。

語法結構:

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

引數解析:

(1).object:必需,要成為不可擴充套件的物件的物件。

瀏覽器相容:

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

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

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

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

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

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

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
"use strict"
let obj = {
  webName: "螞蟻部落",
  url:"www.softwhy.com"
}
Object.preventExtensions(obj);
obj.age = 4;

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

a:3:{s:3:\"pic\";s:43:\"portal/201809/14/103346y4ikkonv5yoi6k1g.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

嚴格模式下,將物件設定為不可擴充套件,再對其新增新屬性會報錯。

非嚴格模式下,新增新屬性或者方法不會報錯,但是新增不會成功。