我正在玩弄函數表達式,並試圖讓我的腦袋圍繞一些東西。這是我寫的代碼。帶參數的函數表達式
這工作
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