0
在下面的代碼中,我試圖調用一個聲明爲對象的方法。我將如何去調用該函數?調用聲明爲函數的對象
var draw = function() {
anotherFunction();
}
draw();
我得到一個錯誤「類型錯誤:屬性對象[對象]窗口的‘平局’不是一個函數」
感謝。
在下面的代碼中,我試圖調用一個聲明爲對象的方法。我將如何去調用該函數?調用聲明爲函數的對象
var draw = function() {
anotherFunction();
}
draw();
我得到一個錯誤「類型錯誤:屬性對象[對象]窗口的‘平局’不是一個函數」
感謝。
快速Javascript範圍教訓;當你這樣做:
function someFunction() {
var foo = 'bar';
}
someFunction();
// foo doesn't exist
是因爲它需要執行someFunction foo
變量只活長;之後它就消失了。
您可以通過在「全局對象」上設置foo來解決此問題,即。 「窗口」:
function someFunction() {
window.foo = 'bar';
}
someFunction();
// foo does exist!
但是,除非你有一個非常小的網站,這將變得混亂非常快(編程語言都有範圍是有原因的:把一切全局空間是很難一起工作)。因此,你真正需要做的就是更仔細地看看什麼是創造富(什麼是你的情況draw
)和什麼是富(draw
),看看你不能讓兩者更接近在一起,或者有創建draw
返回它的功能,或類似的東西。
var draw定義在哪裏?在另一個功能? – mplungjan
上面的代碼工作正常,你可以發佈你的完整代碼,所以我們可以看到它被調用的地方? – Austin
它看起來像這個代碼應該工作。 – Dan