javascript - 对象,原型链中有设置了set,get方法的属性. 则对象中也会自动写入此属性
世界只因有你
世界只因有你 2017-06-28 09:26:57
[JavaScript讨论组]

1: 一个对象的 原型链 中 如果设置了set,get方法的属性, 则该对象会自动写入此属性.

2: 代码如下

let test = {
        a:1,b:2
    }
    Object.defineProperty(test,'a',{
        set(){
            return 'set'
        },
        get(){
            return 'get'
        }
    })
    let o = {};
    o.__proto__ = test;

3: 在控制台中查看 o


4: 为什么o对象也有了a属性?

世界只因有你
世界只因有你

全部回复(1)
欧阳克

眼见不一定为实……

不信你Object.getOwnPropertyDescriptor(o, 'a')Object.getOwnPropertyDescriptor(test, 'a')分别执行试试。

这应该只是chrome的调试工具为了方便显示打造的效果,firefox下就不会出现这种情况。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号