新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家分享的是有关JavaScript中Object.freeze()的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
成都创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为岱山企业提供专业的网站建设、做网站,岱山网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。在Object构造函数方法中,有一个Object.freeze()方法,是用来冻结对象的。冻结对象后就不允许将新属性添加到对象中,并防止删除或更改现有属性。
Object.freeze()方法
Object.freeze()方法以一个对象为参数,冻结这个对象;它可以保留对象的可枚举性,可配置性,可写性和原型不被修改;它返回被冻结的对象,但不创建冻结副本。
基本语法:
Object.freeze(obj)
bject.freeze()方法的使用
下面我们通过简单示例来看看如何使用bject.freeze()方法。
示例1:冻结一个对象或数组
var obj1 = { name: '小华',age:'20岁'}; var obj2 = Object.freeze(obj1); console.log(obj2); obj2.name = '小明'; obj2.sex = '男'; console.log(obj2);
输出:
示例说明:
使用Object.freeze()方法冻结了obj1对象,然后把冻结的obj1对象里的属性分配给obj2对象;因为obj1对象是冻结的,所以阻止将新属性和值添加到obj2对象中。
示例2:使对象不可变
var obj = { prop: function() {}, name: '小明' }; console.log(obj); obj.name = '李华'; delete obj.prop; console.log(obj); var o = Object.freeze(obj); obj.name = 'chris'; console.log(obj);
输出:
示例说明:
obj对象分配有属性[prop,function() {}]对和[name,adam]对,因为此时obj对象还没有冻结,所以可以执行删除“prop: function”,修改name属性的值为'李华'。
新对象“o”分配了“obj”的冻结值,因为obj1对象是冻结的,所以会阻止修改属性和值,因此name属性的值还是为'李华'。
感谢各位的阅读!关于JavaScript中Object.freeze()的使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!