js中的事件处理函数名称后面是否有括号

js中的事件处理函数名称后面是否有括号
今天,总结一下事件处理程序的一些细节。首先,回顾事件处理的一些概念。

在JS事件处理(事件绑定)是允许某种或某些事件触发某些活动。常见的有两种形式,DOM级别0和DOM级别2,分别。两者之间最大的区别是,DOM 0级事件处理只能用于事件的泡沫,而DOM 2级事件处理可以支持事件冒泡和事件设置第三个参数采集。

DOM 0级事件处理直接指向分配给事件处理程序的函数,在直接分配事件处理程序的元素中,如图所示;也可以将函数分配到脚本中的事件处理程序,如以下两种方式所示。


创建一个document.getelementbyid();
a.onclick =意义; / /两
函数关系(){
警告(你好)!;
}
功能的大脑(CC){
警报(cc);
}
上述两种方法之间的区别也在上述示例中显示。第一种方法可以同时绑定多个处理函数,但必须注意全局函数,否则会抛出引用错误,第二种方法只能一次绑定一个处理函数,否则新函数将覆盖旧函数。

DOM 2级事件处理并不直接绑定到处理函数,而是向事件侦听器添加函数。作为一个结果,它也可以绑定多个处理函数没有重叠。但这种方式存在浏览器兼容的问题,它必须被attachevent方法下的IE.
A.addEventListener(点击,关系,false); / /事件
A.addEventListener(点击anotherfun,false); / /将不包括一个事件,被处决
简要回顾在这里,现在,不知道在复习过程中,我们没有看到一个混乱的小细节,是一个参考函数名称后面括号括号有时,有时没有。这如何影响程序的运行我根据我自己的理解参考了下面的小总结。

第一件事是括号。你可能需要在程序中写的()。是的,是事实。添加函数名后,括号表示该函数立即执行。如果函数返回的值,它的价值。这样使用,你可以像所有调用的函数编写,如事件处理函数前面提到的。但是如果你这样做,你可能会导致一些失控。例如,你要执行的函数只有当你点击一个元素,但你发现函数开始执行。你可以看到,做两DOM2事件处理模式和水平以上功能不在函数名后面的括号。原因是避免这种情况的发生。如果你加括号,需要立即触发功能。

那么为什么在做模式一个括号这是因为标签的事件属性中的引号直接作为js语句执行,添加圆括号以确保函数被调用和执行。

如果你没有一个函数名,你想立即执行它吗也就是说,立即执行匿名函数表达式。这种模式很常见。让我们看看它的屁股后面括号立即执行。注意小括号,把整个函数体在这种生活形式的极限范围。具体的童鞋,有兴趣的可以参考相关的信息生活。
(函数(){())
做某事…
});
现在没有括号了。我们提到,没有支撑可以在我们面前避免。因为只有函数的名字是通过一个事件,这相当于通过函数指针(即入口地址的功能)的事件元素。这样做的好处是,你可以找到一个函数,并执行它的时候你需要它。一个小人物,你遇到你的朋友,还有一个小支架,你的朋友会立刻出现在你面前,如果你不在忙,没关系,一个不请自来的不快乐;没有括号相当于你的朋友告诉你,他的房子,当你给他时,他来了,这是一个很好的朋友。所以,大多数事件绑定是通过一个函数指针,函数名。

在这一点上,还有一个问题,这是不是一个参考作用,如果代码中存在的例子一个大脑吗我们只能用这个方式做的一种方式吗当然,它是否定的。尽量不要使用做的形式,这是不符合结构和行为分离的原则。在这种情况下,一个匿名函数来解决它,如下面的代码所示。如果你有什么好的建议,你可以分享一个消息
0级
a.onclick =函数(){
(世界的大脑!;
};
2级
A.addEventListener(单击
以上是我的总结,如果有错误请您改正,谢谢!感谢小伙伴陈通勰一起研究,这是因为他的问题,我注意到了这个经常被忽略的细节。

以上是关于JS是由Xiaobi介绍给你的括号的问题。希望能对你有所帮助。如果你有任何问题,请给我留言。萧边会及时回复你。谢谢你的支持网站
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部