代码之家  ›  专栏  ›  技术社区  ›  Aviel Fedida

JavaScript,提交

  •  3
  • Aviel Fedida  · 技术社区  · 12 年前

    我试图理解为什么在Javascript上使用匿名函数来获取它的值:

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

    我知道onsubmit采用的是true或false值,但我不明白匿名函数是如何为onsubmit事件获取true或false的值的,如下所示:

    onsubmit = validForm();
    

    如果有人能帮助我理解这一点,我将非常感谢,谢谢大家,祝你们度过美好的一天。

    2 回复  |  直到 12 年前
        1
  •  7
  •   Ates Goral    12 年前

    有效的任务是:

    onsubmit = validForm;
    

    您正在将名为validForm的函数分配为onsubmit处理程序。但是,当你这样做时:

    onsubmit = validForm();
    

    您正在分配 后果 将函数validForm调用到onsubmit处理程序。除非validForm返回 作用 ,这行不通。

    上面的匿名函数赋值之所以有效,是因为它正在为 作用 到onsubmit处理程序——该函数在被调用时反过来调用validForm函数。

        2
  •  5
  •   Austin    12 年前

    你在打电话 validForm 和设置 onsubmit 返回值。例如:

    function foo () {
        return "hi";
    }
    
    onsubmit = foo() // eq to onsubmit = "hi";
    
    onsubmit = foo // onsubmit now has the same function as foo