为什么要调用这个函数?

问题描述 投票:0回答:3

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

难道不应该只是将函数分配给变量“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" 
    } 
javascript jquery
3个回答
1
投票

您需要为包含您的

fun
调用的
alert
分配一个匿名函数。


改变:

var fun = alert(myarg); 

致:

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

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

这是一个名为

fun()
的版本:

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


0
投票

如果稍后想使用变量

var fun = alert(myarg);
,请将
var fun = function(){alert(myarg)};
更改为
fun


0
投票

alert(myFun)
调用
alert
方法,然后导致弹出窗口。 也许你的意思是这样的。 当您将参数传递给函数名称后面的括号内的函数时,它将被调用。 要引用函数而不调用它,请省略参数。

​var foo = alert;
foo("bar")​​​​​​​​​​​; //alerts "bar"
© www.soinside.com 2019 - 2024. All rights reserved.