MyClass = function() {
var init = function() {
console.log("Initializing");
}
this.init();
}
var myInstance = new MyClass();
當我運行上面我得到爲什麼下面的代碼不能初始化我的JavaScript對象?
類型錯誤:對象的翻譯:有沒有方法「init」的構造函數的範圍
MyClass = function() {
var init = function() {
console.log("Initializing");
}
this.init();
}
var myInstance = new MyClass();
當我運行上面我得到爲什麼下面的代碼不能初始化我的JavaScript對象?
類型錯誤:對象的翻譯:有沒有方法「init」的構造函數的範圍
這是因爲通過聲明init
爲var
,或者一個局部變量,而不是對象的屬性。因此,init
不會成爲您的對象的成員函數,這就是您的代碼無法按預期運行的原因。將其初始化爲this.init = function() {
而不是實現預期的行爲。
局部變量不成爲實例的屬性。
相反的var init = function...;
,使用this.init = function...;