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