
一道面试题,设置一个对象,不能给这个对象添加或者删除属性,说一下解决方法!下面给大家简单介绍一下用到的几种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,我们会在看到邮件的第一时间内为您处理!

https相对于http的优势有哪些?
一款没有广告,直达结果的搜索引擎——秘塔AI搜索
Spinner Chief:支持批量重写和自动替换的AI文章创作工具
BilibiliGPT:一键总结哔哩哔哩(Bilibili)等平台的视频内容
震撼来袭!AI浏览器新功能:2分钟搞定视频简介、字幕、重点,自动生成思维导图!
小画桌:一款轻量便捷、全终端 、可视化的免费在线协作白板