2012-06-19 118 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" 
相关问题