var myNamespace = {
dateController: {}
};
myNamespace.dateController = function(callback) {
this.callbackfunction = callback;
try {
[this.callbackfunction]();
} catch (e) {
alert(e);
}
};
function displayDate() {
alert("displayDate");
myNamespace.dateController("displayDateFromController");
};
function displayDateFromController() {
alert("In displayDateFromController");
};
這段代碼給我TypeError: ["displayDateFromController"] is not a function
錯誤。什麼可能是這個問題的根本原因和可能的解決方案。Javascript-從命名空間回調函數問題?
爲什麼dateController無法識別displayDateFromController
作爲函數。
我已經厭倦了這樣的 http://www.w3schools.com/js/tryit.asp?filename=tryjs_events
幾個問題:1)離開了'[]'。你實際做的是把'this.callbackfunction'放在一個數組中,並試圖將該數組作爲一個函數來調用。 2)不要將functionName作爲字符串傳遞給'dateController'函數。相反,只是傳遞函數本身:'myNamespace.dateController(displayDateFromController);' – basilikum
我累了也... this.callbackfunction()仍然給我同樣的錯誤。 – harshit2811