我只想将一个变量分配给一个函数,以便稍后可以调用它,但在这个 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"
}
您需要为包含您的
fun
调用的 alert
分配一个匿名函数。
改变:
var fun = alert(myarg);
致:
var fun = function(){
alert(myarg);
}
http://jsfiddle.net/Curt/vkvUR/1/
这是一个名为
fun()
的版本:
如果稍后想使用变量
var fun = alert(myarg);
,请将var fun = function(){alert(myarg)};
更改为fun
alert(myFun)
调用 alert
方法,然后导致弹出窗口。 也许你的意思是这样的。 当您将参数传递给函数名称后面的括号内的函数时,它将被调用。 要引用函数而不调用它,请省略参数。
var foo = alert;
foo("bar"); //alerts "bar"