千家信息网

JavaScript中Object.getOwnPropertyNames()方法怎么用

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要为大家展示了"JavaScript中Object.getOwnPropertyNames()方法怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习
千家信息网最后更新 2026年11月04日JavaScript中Object.getOwnPropertyNames()方法怎么用

这篇文章主要为大家展示了"JavaScript中Object.getOwnPropertyNames()方法怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"JavaScript中Object.getOwnPropertyNames()方法怎么用"这篇文章吧。

Object.getOwnPropertyNames

Object.getOwnPropertyNames()方法同样是也是以对象为参数,返回一个包含该对象内所匹配的属性和方法的数组

大家在这里会发出疑问,这两个有啥区别?Object.getOwnPropertyNames()可以返回所有的属性,而Object.keys()只能返回可枚举属性,诶?到这里大家又疑惑了可枚举属性又是个啥?不要着急,我来解释一下什么叫可枚举属性

可枚举属性

可枚举或者不可枚举属性是对象内部通过可枚举标志enumerable来进行区分的,在默认情况下,我们obj.name = "cxy"为对象新增了一个属性后,其可枚举标志enumerable为ture,而当其值为false的时候它是不可枚举的,当我们对对象进行for,Object.keys(),JSON.stringify()的时候不可枚举属性是找不出来的,我们可以理解为不可枚举属性是隐身的

现在我们拿上面的Object.getOwnPropertyNames和Object.keys()进行实战举例,我们通过defineProperty来为对象添加age属性,因为该方法可以设置枚举标志,这里设置为false,可以看到下面两个不同的返回结果

var stuObj = {    name: "cxy"}Object.defineProperty(stuObj, 'age', {  value: "18",  enumerable: false});console.log(Object.keys(stuObj))console.log(Object.getOwnPropertyNames(stuObj))

以上是"JavaScript中Object.getOwnPropertyNames()方法怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

属性 方法 对象 内容 标志 篇文章 两个 时候 学习 帮助 不同 着急 参数 又是 实战 情况 数组 易懂 更多 条理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技垄断 智能科技公司是互联网公司吗 互联网科技公司发展 互联网金融公司科技 华中科技有哪些互联网大佬 须眉科技是互联网公司吗 武汉健翔互联网络科技有限公司 阿大互联网科技有限公司 崇明区互联网教育科技售后服务 科技赋能视角下互联网保险发展 烟台灵鸽互联网科技有限公司 2021互联网科技公司排名 北京市互联网新科技 扫呗互联网科技有限公司 互联网时代科技型公司的机会 科技和互联网行业的特点 三亚科技创新互联网基地 北京品多多互联网科技有限公司 河南商务圈互联网科技有限公司 如何强化互联网金融科技 互联网金融监管科技数据 上海万想互联网科技 长亮科技 互联网金融 华脉科技工业互联网产品 富国互联网科技创新基金 深圳艾果互联网通讯科技 互联网在线教育科技创业 下一代互联网重大应用科技园 米泉互联网科技专业怎么样 利用互联网等科技手段
0