摘要:不是對象利用遞歸不僅凍結(jié)對象本身,同時凍結(jié)它的屬性值為對象的屬性,這樣不管是聲明的對象還是聲明的對象,都將不能修改此對象的任何屬性。方法返回對象中可枚舉屬性組成的數(shù)組。
function completelyFreezeObj = (obj) => { if(Object.prototype.toString.call(obj) != "[object Object]"){ console.error("obj不是對象"); return; } Object.freeze(obj); Object.keys(obj).forEach( (key, i) => { if (Object.prototype.toString.call(obj[key]) == "[object Object]") { completelyFreezeObj(obj[key]); } }); };
利用遞歸不僅凍結(jié)對象本身,同時凍結(jié)它的屬性值為對象的屬性,這樣不管是let聲明的對象還是var聲明的對象,都將不能修改此對象的任何屬性。
Object.keys()方法返回對象中可枚舉屬性組成的數(shù)組。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/104475.html
摘要:是新增加的關(guān)鍵字,作用是聲明一個只讀變量。暫時性死區(qū)塊級作用域聲明的值是基礎(chǔ)數(shù)據(jù)類型,那么這個變量的值就不可以改變。 const是ES6新增加的關(guān)鍵字,作用是聲明一個只讀變量。這個變量指向的內(nèi)容地址是不可以改動的。 const a = 1 a = 4 // TypeError: Assignment to constant variable. 和let一樣,它也有暫時性死區(qū)和塊級作...
摘要:僅在幾年以前,僅有少數(shù)的程序員知道函數(shù)式編程是什么。函數(shù)式編程是聲明性的而不是命令式的應用狀態(tài)流經(jīng)純函數(shù)中。函數(shù)式編程是一種編程模式。在理解軟件是如何使用函數(shù)式編程構(gòu)建時,理解函數(shù)組合是非常重要的一步。不可變性是函數(shù)式編程的核心概念。 函數(shù)式編程已然變成了一個javascript語言中一個非常熱門的話題。僅在幾年以前,僅有少數(shù)的js程序員知道函數(shù)式編程是什么。但是在過去三年中,我所見過...
摘要:當這些異步任務發(fā)生的時候,它們將會被放入瀏覽器的事件任務隊列中去,等到運行時執(zhí)行線程空閑時候才會按照隊列先進先出的原則被一一執(zhí)行,但終究還是單線程。 瀏覽器是多進程的 showImg(https://segmentfault.com/img/remote/1460000019706956?w=815&h=517); Browser進程: 瀏覽器的主進程(負責協(xié)調(diào)、主控),只有一個。 負...
摘要:當這些異步任務發(fā)生的時候,它們將會被放入瀏覽器的事件任務隊列中去,等到運行時執(zhí)行線程空閑時候才會按照隊列先進先出的原則被一一執(zhí)行,但終究還是單線程。 瀏覽器是多進程的 showImg(https://segmentfault.com/img/remote/1460000019706956?w=815&h=517); Browser進程: 瀏覽器的主進程(負責協(xié)調(diào)、主控),只有一個。 負...
閱讀 3763·2021-11-15 11:37
閱讀 3050·2021-11-12 10:36
閱讀 4591·2021-09-22 15:51
閱讀 2478·2021-08-27 16:18
閱讀 956·2019-08-30 15:44
閱讀 2219·2019-08-30 10:58
閱讀 1834·2019-08-29 17:18
閱讀 3345·2019-08-28 18:25