为什么要调用此函数?

时间:2012-06-19 10:43:22

标签: javascript jquery

我只想将一个变量赋给一个函数,以便以后调用它,但是在这个fiddel中,每次按下“invoke”按钮都会调用该函数

是不是只将函数分配给变量'fun'并且不调用警报?

小提琴: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" 
    } 

3 个答案:

答案 0 :(得分:2)

您需要为包含fun电话的alert分配匿名功能。


变化:

var fun = alert(myarg); 

要:

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

http://jsfiddle.net/Curt/vkvUR/1/

还有一个叫fun()的版本:

http://jsfiddle.net/Curt/vkvUR/2/

答案 1 :(得分:0)

如果您想稍后使用变量var fun = alert(myarg);,请将var fun = function(){alert(myarg)};更改为fun

答案 2 :(得分:0)

alert(myFun)调用alert方法然后导致弹出窗口。也许你的意思是这样的。在函数名称之后将参数传递给parens中的函数时,将调用它。要在不调用函数的情况下引用函数,请省略参数。

​var foo = alert;
foo("bar")​​​​​​​​​​​; //alerts "bar"