我试图理解为什么onsubmit在Javascript使用匿名函数来获得它的价值:
onsubmit = function() {return validForm();}
我知道onsubmit正在使用true或false值,但我无法理解匿名函数如何为onsubmit事件获取true或false值,如下所示:
onsubmit = validForm();
如果有人能帮助我理解这一点,我将非常感激,谢谢大家,祝你们度过愉快的一天。
答案 0 :(得分:7)
有效的作业将是:
onsubmit = validForm;
您将名为validForm的函数指定为onsubmit处理程序。但是,当你这样做时:
onsubmit = validForm();
您将调用函数validForm的结果分配给onsubmit处理程序。除非validForm返回函数,否则这将无效。
上面的匿名函数赋值的工作原理是,它将函数分配给onsubmit处理程序 - 一个函数在调用它时调用validForm函数。
答案 1 :(得分:5)
您正在呼叫validForm
并将onsubmit
设置为其返回值。例如:
function foo () {
return "hi";
}
onsubmit = foo() // eq to onsubmit = "hi";
onsubmit = foo // onsubmit now has the same function as foo