javascript - 事件处理中的函数与回调函数
PHP中文网
PHP中文网 2017-04-11 13:09:49
0
1
648

为何在html属性中指定事件响应,就使用函数名()的方式调用,不可以写成函数名?
鼠标移动到p上面时,触发执行cbFunc(cbFunc显示一个图片).

<p id="id1"  onmouseover=cbFunc() ></p>

你不可以写成

<p id="id1"  onmouseover=cbFunc ></p>

当你使用注册事件方法的时候,
document.getElementById('id1').addEventListener('onmouseover',cbFunc,false);
你就不可以写成
document.getElementById('id1').addEventListener('onmouseover',cbFunc(),false);

从这里我可以得出结论:
1.函数cbFunc可以是普通函数被调用,也可以作为回调函数被调用。
事实上可以说,任何函数都可以称为回调函数(调用者将它作为一个参数,就可以使这个函数成为回调函数).
这个结论对吗?
有一点不明白的是
1.为何要写成

<p id="id1"  onmouseover=cbFunc() ></p>

你不可以写成

<p id="id1"  onmouseover=cbFunc ></p>

PHP中文网
PHP中文网

认证高级PHP讲师

Antworte allen(1)
伊谢尔伦

首先:

然后:

个人推测大概就是这么解析的(因为这种做法早就不推荐了,所以文档我都没怎么看到提及),所以必须加括号

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage