您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)JavaScript中Object.freeze()的使用方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
在Object構(gòu)造函數(shù)方法中,有一個Object.freeze()方法,是用來凍結(jié)對象的。凍結(jié)對象后就不允許將新屬性添加到對象中,并防止刪除或更改現(xiàn)有屬性。
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);
輸出:
示例說明:
使用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);
輸出:
示例說明:
obj對象分配有屬性[prop,function() {}]對和[name,adam]對,因為此時obj對象還沒有凍結(jié),所以可以執(zhí)行刪除“prop: function”,修改name屬性的值為'李華'。
新對象“o”分配了“obj”的凍結(jié)值,因為obj1對象是凍結(jié)的,所以會阻止修改屬性和值,因此name屬性的值還是為'李華'。
感謝各位的閱讀!關(guān)于JavaScript中Object.freeze()的使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(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)容。