function Animal(name){
this.name = name;
}
var cat = new Animal("cat")
复制代码
Animal 自己是一个普通函数,但当经过new来建立对象时,Animal 就是构造函数。html
JS引擎执行这句代码时,在内部作了不少工做,用伪代码模拟其内部流程以下:bash
new Animal('cat') = {
var obj = {};
obj.__proto__ = Animal.prototype;
var result = Animal.call(obj,"cat");
return typeof result === 'object'? result : obj;
}
复制代码
根据以上过程,咱们发现 cat 其实就是【4】的返回值,所以咱们对 cat 对象的认知就多了一些app
原文连接函数