瞎扯淡 如何解释 prototype(JS 对象)是啥?

zzz6519003 · 2021年09月17日 · 最后由 monsterooo 回复于 2021年09月30日 · 371 次阅读

~~~~~

js 萌新的理解: 感觉像是指向类的所有实例共用部分的内存地址 (有点像 ruby 的在类中定义的实例方法)

prototype 中文大多翻译为 原型, 原型和模具意思类似,小孩子玩沙子用的桶就是模具,装满沙子然后压实在,倒过来就是个城堡。

这个城堡 castle 是通过那个桶创建的,castle.prototype === 桶

如果桶的有个 height ,比如: 桶.height= 20,那么 castle.height === 20 ,这里是原型链的原理

prototype chain 很重要,原型链

castle.prototype === 桶, 桶.prototype === 塑料。

也有点类似 小岳岳演的 祖宗十九代 ,,找自己的属性: {样貌:丑}, 就是去 prototype 里面找,一代一代向前找。。

虽然 castle 自身没有定义 height, 但是依然可以用 height,就是因为原型链。

一句话总结:prototype 指向上一级。

后面的知识又延伸到:创建新对象的方式, 通过 new 关键字或者 Object.create() 等,就不展开了。

对于代码来说,程序员们就是上帝啊。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号