我已经看到,主要是在事件处理程序中,称为Pascal样式的函数,即没有括号。 myFunction
和myFunction()
之间是否存在差异,如果是,那又是什么?
答案 0 :(得分:3)
当您想要调用函数时,总是使用括号。
当您希望它成为回调函数时,使用它而没有括号的原因是您不希望在将其分配给事件时调用该函数。事件触发时,事件将调用该函数。
您可以像任何其他值一样传递函数引用,并在您想要调用它时使用括号。例如:
function test() {
alert('test');
}
var x = test; // got the reference
var y = x; // copying it around
y(); // calling the function
答案 1 :(得分:0)
myFunction是函数对象,可以像任何其他对象/变量一样传递,通常作为回调传递。 myFunction()调用一个没有任何参数的函数,这个表达式的值就是myFunction函数返回的。
Pascal式函数不是没有括号的函数。 Pascal样式的函数表示没有首字母大写的函数名称。 通过一些约定,只有构造函数应该首字母大写,因为调用构造函数作为常规函数(没有新的)和常规函数作为构造函数可能会引发很难找到的严重错误。