很基础的一个问题也欢迎大家补充注意点,比如循环中的闭包循环变量什么样的情况下可能造成内存泄漏在注册事件的时候,我们有时候会传入参数,例如document.addEventListener('click',function(ev){console.log(ev.pageX);})请问这个参数是指事件发生时的上下文吗?是不是要用到事件发生时上下文的时候我们就必须要传一个参数,也就是什么时候我们需要传参数?
2 回答
狐的传说
TA贡献1804条经验 获得超3个赞
这个参数包含了事件触发事的相关信息。比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。是不是要用到事件发生时上下文的时候我们就必须要传一个参数,也就是什么时候我们需要传参数?一般情况下,如果你在事件处理函数中要用到事件对象的话(例如:需要阻止冒泡ev.stopPropagation),就会传一个参数。当然了,如果你没有传参,实际上js会默认事件对象作为第一个参数,你可以在事件处理函数内部通过argument[0]访问该事件对象。
慕婉清6462132
TA贡献1804条经验 获得超2个赞
可传,可不传,有需要的时候传要知道是个什么东西console.log(ev)一下啥都看出来了包括很多东西吧,比如发生事件的节点,发生事件的位置,发生事件的类型等
添加回答
举报
0/150
提交
取消