1、一个通过new创造的instance,他的constructor.prototype.constructor为什不是Object()
2、实例代码如下:
function Dog(name){
this.name = name;
}
var dog1 = new Dog('dg1')
dog1.constructor.prototype.constructor // Dog()
疑问:如上代码,我的理解是constructor.prototype 是一个普通的对象,所以这个普通的对象的constructor应该是Object(),而不是Dog()
4、再看如下代码:
function Dog(name){
this.name = name;
}
Dog.prototype = {
color:'black',
age:3
}
var dog2 = new Dog('dg2')
dog2.constructor.prototype.constructor // Object()
疑问:这里返回的是符合预期的Object(),难道一个构造函数默认的prototype不是一个普通的空对象么?或者说跟我们手动赋值的自定义对象有差别?这里的疑问一直没搞明白,希望各路神仙指点~~
胡说叔叔
相关分类