JavaScript Object.freeze()方法
Object.freeze() 方法冻结了一个对象,防止新属性被添加到其中。该方法阻止现有属性、属性和值的修改。
语法:
Object.freeze(obj)
参数
Obj :要冻结的对象。
返回值:
该方法返回传递给函数的对象。
浏览器支持:
Chrome | 45.0 |
---|---|
Edge | 12.0 |
Firefox | 32.0 |
Opera | No |
示例1
const object1 = {
property1: 22
};
const object2 = Object.freeze(object1);
object2.property1 = 33;
// Throws an error in strict mode
console.log(object2.property1);
输出:
22
示例2
const obj1 = { property1: 'freeze'};
const obj2 = Object.freeze(obj1);
obj2.property1 = 'new_data';
console.log(obj2.property1);
输出:
" freeze "
示例3
var obj = { prop: function() {}, name: 'charry' };
console.log(obj);
obj.name = 'karri';
delete obj.prop;
console.log(obj);
var o = Object.freeze(obj);
obj.name = 'chris';
console.log(obj);
输出:
[object Object] {
name: "charry",
prop: function() {}
}
[object Object] {
name: "karri"
}
[object Object] {
name: "karri"
}