我对这两个陈述感到困惑。两者都给出了两个不同的结果。为简化起见,我不在此处发布完整代码。关键是我想知道两者之间的区别。说,我想在滚动页面时调用一个函数。使用括号和不在此语句中使用括号有什么区别?
window.onscroll=function_Name;
和
window.onscroll=function_Name();
答案 0 :(得分:4)
用括号表示:运行函数并返回结果。
没有括号表示:使用函数本身。
所以如果你想将一个函数绑定到" onscroll"事件,你不要求括号。例如,如果您的函数返回" 2",那么
window.onscroll=function_Name();
与
相同window.onscroll="2";
这是没有意义的。
答案 1 :(得分:0)
window.onscroll
需要成为一种功能。如果function_Name
是一个函数,那么第一个表单将是您通常使用的表单。 function_Name()
执行函数,因此第二件事是合法的唯一方法是function_Name
返回函数作为结果(例如,{ {1}}可能是这种函数返回函数的一个好名字。但如果它返回,例如generateScrollHandler
,则5
变为window.onscroll
,这根本没有意义。
答案 2 :(得分:0)
“window.onscroll()”中使用的括号表示该函数正在由scroll事件调用,没有括号,脚本将不知道它应该运行代码,而不是它将尝试和调用变量,否则它什么都不做。