本文實例講述了JS Object.preventExtensions(),Object.seal()與Object.freeze()用法。分享給大家供大家參考,具體如下:
| Method | Description | Param | Detail |
|---|---|---|---|
| Object.preventExtensions() | 讓一個對象變的不可擴展,也就是永遠不能再添加新的屬性 | Object | 詳細 |
| Object.isExtensible() | 判斷一個對象是否是可擴展 | Object | 詳細 |
| Object.seal() | 讓一個對象密封,并返回被密封后的對象。密封對象是指那些不能添加新的屬性,不能刪除已有屬性,以及不能修改已有屬性的可枚舉性、可配置性、可寫性,但可能可以修改已有屬性的值的對象。 | Object | 詳細 |
| Object.isSealed() | 判斷一個對象是否是密封的 | Object | 詳細 |
| Object.freeze() | 凍結一個對象并返回被凍結的對象。凍結對象是指那些不能添加新的屬性,不能修改已有屬性的值,不能刪除已有屬性,以及不能修改已有屬性的可枚舉性、可配置性、可寫性的對象。也就是說,這個對象永遠是不可變的。 | Object | 詳細 |
| Object.isFrozen() | 判斷一個對象是否被凍結 | Object | 詳細 |
Object.preventExtensions 只能阻止一個對象不能再添加新的自身屬性,仍然可以為該對象的原型添加屬性。
var jb51 = { name: "zuojj"};Object.preventExtensions(jb51);jb51.url = "http://www.survivalescaperooms.com";//Outputs: undefinedconsole.log(jb51.url);但是在嚴格模式下會報錯:
"use strict";var jb51 = { name: "zuojj"};Object.preventExtensions(jb51);jb51.url = "http://www.survivalescaperooms.com";//Outputs: Uncaught TypeError: Can't add property url, object is not extensibleconsole.log(jb51.url);var jb51 = { name: "zuojj"};Object.preventExtensions(jb51);jb51.url = "http://www.survivalescaperooms.com";//Outputs: Uncaught TypeError: Can't add property url, object is not extensibleconsole.log(jb51.url);
新聞熱點
疑難解答
圖片精選