可以通过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美术毛发渲染