问答详情
源自:2-3 DOM2级事件处理程序

DOM2级添加事件调用函数怎么不写showMes()直接写showMes?

调用函数不都是要加括号的吗?

提问者:Shanemark 2016-03-30 09:16

个回答

  • z阿汀
    2016-07-12 17:27:13

    我试了一下,加上引号就需要加上括号。
    eventUtil.addHandler(btn3,"click","showMes()");

    网上百度了一下:

    加括号——调用函数

      只要是要调用函数执行的,都必须加括号。

      此时,function()实际上等于函数的返回值。(没有返回值也已经执行了函数体内的行为)。就是说,只要加括号的,就代表将会执行函数体代码。

    不加括号——指定函数引用

      把函数名作为函数指针,用于传参,此时不是得到函数结果,因为不会运行函数体代码。它只是传递了函数体所在地址,在需要时找到函数体去执行。

      例如request.onreadystatechange = doSomething;是将函数doSomething自身的引用(而不是函数结果)赋值给onreadystatechange属性。


  • 道冲0
    2016-03-30 10:36:45

    如果直接写就是直接调用,而showMes是在事件触发一后系统帮你调用的。所以应该写showMes