我得到這個錯誤:Property 'myFunction' of object [object Object] is not a function
Property對象的「myFunction的」的翻譯:不是一個函數
myFunction= (function(){
//something
})();
myFunction();
什麼錯在這裏的?我可以再次撥打我的自動執行功能嗎?如果我在自我執行功能中使用var,這也不起作用。
我得到這個錯誤:Property 'myFunction' of object [object Object] is not a function
Property對象的「myFunction的」的翻譯:不是一個函數
myFunction= (function(){
//something
})();
myFunction();
什麼錯在這裏的?我可以再次撥打我的自動執行功能嗎?如果我在自我執行功能中使用var,這也不起作用。
通過包裝括號
(function(){
// do something
})();
你正在創建一個被立即執行函數表達式的函數調用。函數表達式的結果將被分配給您的變量myFunction
你可能想是這樣的:
var myFunction = (function(){
return {
doStuff : function(myVariable){
// do stuff
}
};
})();
這將創建一個分配給myFunction
變量返回的對象。其中該返回對象的屬性是doStuff
這是一個函數,變量,你可以調用像
myFunction.doStuff('hello world');
非常感謝! – user3318525
您正在將返回值指定爲myFunction
。如果你的返回值不是函數,那麼myFunction
不是函數,你不能調用它。
如果你想存儲稍後再次執行它的功能,你不想自動執行的函數表達式:
myFunction= function(){
//something
};
myFunction();
我想運行它,因爲我想使ajax非異步 – user3318525
這與使其自行執行無關。 – meagar
var myFunction = function(){};
myFunction();
你必須創建一個函數來調用。自調用閉包不返回函數。
我想運行它,因爲我想使ajax非異步 – user3318525
在這種情況下不需要關閉。看看jQuery ajax api和asynch = false設置 – TGH
我使用Angularjs – user3318525
你的函數體沒有返回的功能。 –
你將不得不更清楚你認爲這涉及到AJAX還是「非異步」。沒有任何跡象顯示你的假設是正確的;你發佈的代碼與AJAX無關,並且使一個函數自動執行並不會使它「非異步」。 – meagar