
一道面试题,设置一个对象,不能给这个对象添加或者删除属性,说一下解决方法!下面给大家简单介绍一下用到的几种JS方法!
1、Object.defineProperty() 2、Object.seal() 3、Object.freeze() 4、Proxy
利用Object.defineProperty()示例:
const object1 = {};
//不填写属性数据描述符的前提下,获取生成的描述符默认值
Object.defineProperty(object1, 'property1', {});
console.log(Object.getOwnPropertyDescriptor(object1, 'property1'))
输出结果:
//默认值分别是false和undefined
{
configurable: false
enumerable: false
value: undefined
writable: false
}
利用Object.seal()示例:
const obj = { name: "小米" };
Object.seal(obj);
Object.getOwnPropertyDescriptors(obj);
输出结果:
//默认值分别是false和undefined
{
name:
configurable: false //变false
enumerable: true
value: "小米"
writable: true
}
js封印对象,利用Object.preventExtensions()方法使其不能拓展属性
javascript根据相同id合并形成child子数组(支持低版本浏览器)
上面是“面试题:js如何设置对象,不能给这个对象添加或者删除属性”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_13992.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

mysql如何截取/替换字符串
快手PC版
一个专为法官/律师/企业法务等专业人士设计的AI法律助手——元典智库