溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中Object.freeze()的使用方法

發(fā)布時間:2020-08-28 10:14:42 來源:億速云 閱讀:244 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)JavaScript中Object.freeze()的使用方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

在Object構(gòu)造函數(shù)方法中,有一個Object.freeze()方法,是用來凍結(jié)對象的。凍結(jié)對象后就不允許將新屬性添加到對象中,并防止刪除或更改現(xiàn)有屬性。

JavaScript中Object.freeze()的使用方法

Object.freeze()方法

Object.freeze()方法以一個對象為參數(shù),凍結(jié)這個對象;它可以保留對象的可枚舉性,可配置性,可寫性和原型不被修改;它返回被凍結(jié)的對象,但不創(chuàng)建凍結(jié)副本。

基本語法:

Object.freeze(obj)

bject.freeze()方法的使用

下面我們通過簡單示例來看看如何使用bject.freeze()方法。

示例1:凍結(jié)一個對象或數(shù)組

var obj1 = { name: '小華',age:'20歲'};
var obj2 = Object.freeze(obj1);
console.log(obj2);
obj2.name = '小明';
obj2.sex = '男';
console.log(obj2);

輸出:

JavaScript中Object.freeze()的使用方法

示例說明:

使用Object.freeze()方法凍結(jié)了obj1對象,然后把凍結(jié)的obj1對象里的屬性分配給obj2對象;因為obj1對象是凍結(jié)的,所以阻止將新屬性和值添加到obj2對象中。

示例2:使對象不可變

var obj = { prop: function() {}, name: '小明' };
console.log(obj);
obj.name = '李華';
delete obj.prop;
console.log(obj);
var o = Object.freeze(obj);
obj.name = 'chris';
console.log(obj);

輸出:

JavaScript中Object.freeze()的使用方法

示例說明:

obj對象分配有屬性[prop,function() {}]對和[name,adam]對,因為此時obj對象還沒有凍結(jié),所以可以執(zhí)行刪除“prop: function”,修改name屬性的值為'李華'。

新對象“o”分配了“obj”的凍結(jié)值,因為obj1對象是凍結(jié)的,所以會阻止修改屬性和值,因此name屬性的值還是為'李華'。

感謝各位的閱讀!關(guān)于JavaScript中Object.freeze()的使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI