MyClass = function() {
var init = function() {
console.log("Initializing");
}
this.init();
}
var myInstance = new MyClass();
当我运行以上内容时,我得到了
TypeError:Object [object Object]没有方法'init'
答案 0 :(得分:4)
构造函数范围中的局部变量不会成为实例的属性。
而不是var init = function...;
,请使用this.init = function...;
答案 1 :(得分:3)
这是因为将init
声明为var
,或者是局部变量而不是对象的属性。因此,init
不会成为对象的成员函数,这就是您的代码无法按预期运行的原因。将其初始化为this.init = function() {
,以实现预期的行为。