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

zzz6519003 · September 17, 2021 · Last by monsterooo replied at September 30, 2021 · 469 hits

~~~~~

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() 等,就不展开了。

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

You need to Sign in before reply, if you don't have an account, please Sign up first.