我只想将一个变量赋给一个函数,以便以后调用它,但是在这个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"
}
答案 0 :(得分:2)
您需要为包含fun
电话的alert
分配匿名功能。
变化:
var fun = alert(myarg);
要:
var fun = function(){
alert(myarg);
}
http://jsfiddle.net/Curt/vkvUR/1/
还有一个叫fun()
的版本:
答案 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"