es6 freeze

var obj = {
    name:'zhangsan',
    age:23,
    friends:['lisi','wangwu']
}
Object.freeze(obj);
obj.name = 'zhangsan1';
obj.friends[0] = 'zhaoliu';
console.log(obj.name);//zhangsan
console.log(obj.friends[0]);//zhaoliu

//freeze是浅层次的冻结

function myFreeze(obj) {
    Object.freeze(obj);
    Object.keys(obj).forEach(function(key){
        if(typeof obj[key] === 'object') {
            myFreeze(obj[key]);
        }
    });
}

 

おすすめ

転載: blog.csdn.net/lanwangxia/article/details/118100778