prototype解释


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

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

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

prototype chain 很重要,原型链

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

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

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

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

这里有2种常用的创建新对象的方法:
1.new 构造函数 
function Person(){
}
let newObj = new Person()
newObj的原型就是一个constructor  Person

2. Object.create
let  sam = {name: 'Daisy'}
let foo = Object.create(sam);
foo的原型 === sam

阅读量: 591
发布于:
修改于: