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()方法返回对象中可枚举属性组成的数组。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。