function A(){
this.a = '1';
this.b = '2';
this.init();
}
A.prototype.init = function(){
console.log('000000');
}
new A()
上面的这个可以输出000000
,而下面这个就不行:
function A(){
this.a = '1';
this.b = '2';
this.init();
}
A.init = function(){
console.log('000000');
}
new A()
这是为什么呢?
使用new的时候大概就像这个样子:
(摘抄自《JavaScript语言精粹》)
也就是说,先从原型创建一个对象,然后调用构造函数的内容,你这里的话就是执行
这些内容
所以你直接给A加一个init函数是没用的。