JavaScript函数含义及特殊写法解析

Java

1个回答

写回答

同学
同学

举个例子来说,在学校操场,当所有学生都到齐的时候(这就相当于一个onload事件)会通报一次。可以这样表述:(各位/xx)同学(这里用elem来表示),当老师进入教室的时候(这就类似于onmouSEOver、onmouSEOut等事件,我们统称为events),所有同学都需要起立(用fn表示)。在这里,onload这个事件是在所有学生到齐通报这个时刻触发了一次,并且把events(也就是老师进教室这个事件)绑定到了elem(学生)上。所以onload事件只要触发一次,完成对elem的事件绑定,之后一旦触发这个事件就会执行相应操作。关于你提出的问题,就是onload为什么只执行一次,而mouse事件却会一直被触发?我们可以把事件理解成是在某个特定的场景或者时机下被触发的。有些场景只会出现一次,而有些场景则会多次出现。onload的场景是在dom(文档对象模型)全部加载完毕的时候被调用,这种场景只会出现一次,所以它只会被调用一次。然而,mouse事件就不一样了,它会随着鼠标操作的重复出现而多次被执行。就像上面的例子中当老师进入教室时这个事件,只要老师每次进入教室都会触发这个事件。另外,你应该用探索的思路自己去理解。比如说,如果你不太能理解为什么onload只执行一次,而mouse事件却一直生效,那你不妨把onload去掉试试,或者把代码拆开,这样你就会发现其实onload和给elem绑定mouse事件是两回事。onload的实际作用并不是为了给elem绑定事件,而是要确保每个elem都已经准备好(就像确保每个学生都在场一样)。在代码中就表现为window.onload = () => {xxx}; elem.onmouSEOver = () => {xxx}; elem.onmouSEOut = () => {xxx};

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号