這篇文章給大家分享的是有關JavaScript中Object.freeze()的使用方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯長期為上千客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態(tài)環(huán)境。為岱山企業(yè)提供專業(yè)的網站建設、做網站,岱山網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發(fā)。在Object構造函數方法中,有一個Object.freeze()方法,是用來凍結對象的。凍結對象后就不允許將新屬性添加到對象中,并防止刪除或更改現有屬性。
Object.freeze()方法
Object.freeze()方法以一個對象為參數,凍結這個對象;它可以保留對象的可枚舉性,可配置性,可寫性和原型不被修改;它返回被凍結的對象,但不創(chuàng)建凍結副本。
基本語法:
Object.freeze(obj)
bject.freeze()方法的使用
下面我們通過簡單示例來看看如何使用bject.freeze()方法。
示例1:凍結一個對象或數組
var obj1 = { name: '小華',age:'20歲'}; var obj2 = Object.freeze(obj1); console.log(obj2); obj2.name = '小明'; obj2.sex = '男'; console.log(obj2);
輸出:
示例說明:
使用Object.freeze()方法凍結了obj1對象,然后把凍結的obj1對象里的屬性分配給obj2對象;因為obj1對象是凍結的,所以阻止將新屬性和值添加到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對象還沒有凍結,所以可以執(zhí)行刪除“prop: function”,修改name屬性的值為'李華'。
新對象“o”分配了“obj”的凍結值,因為obj1對象是凍結的,所以會阻止修改屬性和值,因此name屬性的值還是為'李華'。
感謝各位的閱讀!關于JavaScript中Object.freeze()的使用方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!