我正在玩弄函数表达式,并试图让我的脑袋围绕一些东西。这是我写的代码。带参数的函数表达式
这工作
var sum=function(arg1,arg2){
return(function(){alert(arg1*arg2)})
}
document.getElementById('button_1').onclick=sum(3,2);
这并不,我知道它并不甚至看right.But我只是想了解当时正在显示here.It错误背后的原因,首先与6所显示的警告框,然后错误消息“未实现”,这是在IE6中。
var sum=function(arg1,arg2){
alert(arg1*arg2);
}
document.getElementById('button_1').onclick=sum(3,2);
如果你们认为这个问题不需要回答,请让我知道,我会删除它。
感谢
@Darin如果是做这样做,的document.getElementById( 'button_1')的onclick =总和,则它用NaN提醒我。所以当我必须传递函数表达式的参数给onclick事件时,我必须返回一个函数吗? – manraj82 2011-05-27 11:14:30
@ manraj82,如果您使用onclick处理程序,则将传递的唯一参数将是事件。所以如果你想给onclick事件分配一些函数,这个函数只能接受一个参数,即事件。当按钮被点击时,你不能分配带多个参数的函数。javascript不知道传递给这个函数的值是什么。 – 2011-05-27 11:15:38
@Darin所以这是否意味着我更好地做这样的事情然后 – manraj82 2011-05-27 11:19:09