Taku basutou 2021-06-24 12:13 采纳率: 33.3%
浏览 21
已采纳

js中使用setter方法继承属性是什么意思

可以通过Object.create()来继承创建一个对象,但通过setter方法继承属性是什么意思

  • 写回答

2条回答 默认 最新

  • 芥末加糖 2021-06-24 14:52
    关注
    var name = 'zym';
    var parent = {
        set name(str) {
            name = str;
        },
        get name() {
         return name;
        }
    };
    
    var child = Object.create(parent);
    console.log(child.name);
    child.name = 'hello';
    console.log(child.name,parent.name);

    当我们定义一个对象的时候,如果动态给他加一个属性,一般来说,他会把这个属性加载到自己的身上,但是从上面的代码中可以看到,通过setter定义的变量。setter的行为是会被child继承的。也就是说父类和子类是共享这个setter的,而不会再在子类中挂在该属性。这个在es5文档的8.6.2有说到。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染