通天战队|「翻译」JavaScript的可视化学习之五:原型继承( 三 )
因为“Chihuahua.prototype”具有“smallBark”函数 , 并且“Dog.prototype”有“bark”函数 , 我们可以在“myPet”上访问“smallBark”和“bark”!
正如你想象的 , 原型链不会永远延续下去 。 最终有一个对象的“prototype”等于“null”:“Object.prototype”!如果我们试图访问在本地或原型链上找不到的属性时 , 会返回“undefined” 。
9、子类沿着原型链查找父类的方法 , 直到__proto__属性为null 。
虽然我在这里用构造函数函数和类解释了所有的事情 , 但是向对象添加原型的另一种方法是“Object.create”方法 。 用这个方法 , 我们可以创建一个新的对象 , 并且可以精确地指定该对象的原型应该是什么!
我们通过将现有对象作为参数传递给“Object.create”方法 。 这个对象就是我们创建的对象的原型!
const person = {name: 'Lydia',age: 21}const me = Object.create(person)【通天战队|「翻译」JavaScript的可视化学习之五:原型继承】让我们输出我们刚刚创建的“me”对象 。
我们没有向“me”对象添加任何属性 , 它只包含不可枚举的“__proto__”属性!“__proto__”属性指向我们定义为原型的对象引用:“person”对象 , 它有一个“name”和一个“age”属性 。 由于“person”对象是一个对象 , 因此“person”对象的“__proto__”属性的值为“Object.prototype”(但是为了让它更容易阅读 , 我没有在gif中扩展这个属性!)
希望您现在了解了为什么原型继承在JavaScript奇妙世界中是如此重要的特性!如果你有问题 , 请随时联系我!
翻译来源:
推荐阅读
- 大河客户端|布局战队,导师各有妙招,《2020中国好声音》收视率蝉联第一
- 周到|“好声音”蝉联省级卫视综艺节目收视第一,首迎抢位战导师布局战队各有妙招
- 中年|谷歌生草机,翻译《我的世界》20变,连亲妈都不认识
- 通天战队|A股最励志闻泰科技!给华为小米打工到半导体巨头,半年赚17亿
- |《街舞3》火舞台battle开启 钟汉良战队团魂之力势不可挡
- |《这!就是街舞》第三季火舞台热力喷发,队长领衔齐舞大秀燃炸战队之魂
- 巅峰战队|ConcurrentHashMap的部分源码分析
- 巅峰战队|VERTIX户外手表,勇攀新高峰——COROS
- 环球网|美海军陆战队一架CH-53E紧急迫降 未造成人员伤亡
- tes战队|lpl战队成员大更新!RNG崛起!TES在明年无可撼动!
