const foo = {a: {b: 2, c: {d: 4}}};
let freezeObj = (obj) => {
Object.freeze(obj);
Object.keys(obj).forEach((key, i) => {
if(typeof obj[key] === 'object') {
freezeObj(obj[key]);
}
})
}
freezeObj(foo);
常规模式时,对foo赋值不起作用
严格模式时,对foo赋值会报错