2012-07-23 164 views
3

我想了解在使用Javascript爲什麼的onsubmit是使用匿名函數來得到它的價值這樣的:JavaScript中,的onsubmit

onsubmit = function() {return validForm();} 

我知道的onsubmit走的是真的還是假的價值,但我可以」不懂如何匿名函數是必要得到的真或假值的onsubmit事件,像這樣:

onsubmit = validForm(); 

我會很感激,如果有人可以幫助我理解這一點,謝謝大家祝你有愉快的一天。

+0

你可以簡單'的onsubmit = validForm' – andlrc 2012-07-23 13:38:33

+0

謝謝你們,我得到它,現在,有一個愉快的一天。 – 2012-07-23 13:49:32

回答

7

有效的分配將是:

onsubmit = validForm; 

你分配稱爲validForm作爲onsubmit處理程序的功能。但是,當你這樣做:

onsubmit = validForm(); 

你要指定調用該函數validForm到onsubmit處理的結果。除非validForm返回函數,否則這將不起作用。

上述匿名函數分配的原因是,它將一個函數分配給onsubmit處理函數 - 一個在調用validForm函數時又調用它的函數。

+1

Ahhh落後15秒。 +1 – Austin 2012-07-23 13:42:06

+0

啊......但是你有我的讚賞,因爲你用一個明確的例子來解釋它。 – 2012-07-23 13:45:31

5

您正在致電validForm並將onsubmit設置爲其返回值。在例如:

function foo() { 
    return "hi"; 
} 

onsubmit = foo() // eq to onsubmit = "hi"; 

onsubmit = foo // onsubmit now has the same function as foo