2012-06-19 147 views
0

我只是想給一個變量賦值給一個函數,以便以後可以調用,但在此fiddel的函數被調用每一次我按下按鈕「調用」爲什麼這個函數被調用?

如果它不只是分配功能的varialbe「樂趣'而不是調用警報?

小提琴:http://jsfiddle.net/vkvUR/

代碼:

$("#button").click(myFun); 

    <input name="Button3" type="button" value="Invoke" id="button"> 

    function myFun(myarg){ 
     var fun = alert(myarg); 

    } 

    function myFunParam(myFun){  
     if (typeof myFun === "function")  
      myFun('foo'); // alerts "foo" 
    } 
+0

在控制檯輸入'var fun = alert('foo');'看看會發生什麼;)alert是因爲你調用它而被調用的! –

回答

0

變化var fun = alert(myarg);var fun = function(){alert(myarg)};,如果你想使用可變fun

0

alert(myFun)調用警報系統,然後導致彈出。也許你的意思是這樣的。當你在函數名後面的參數中傳遞參數給Parens時,它將被調用。要引用一個函數而不調用它,請忽略參數。

​var foo = alert; 
foo("bar")​​​​​​​​​​​; //alerts "bar" 
相關問題