谜一般的js,迷一般的console

问题的来源,是关于事件对象的currentTarget的讨论,currentTarget是什么,嗯,很简单就是绑定了监听函数,并且当前监听函数正在执行的那个dom元素。本着踏实,实事求是,严以律己的态度,我小心翼翼的console.log了一番,这不console不要紧,一console,就吓我一跳,console.log之后是这个结果:

$2MYE[A8W4BL}[]MRM]FW[7.png

看到了吗,currentTarget为null,我很纳闷,肯定是那个地方不对,就决定百度一番,最终百度来百度去,在stackoverflow的这篇文章中找到了答案,其实答案很简单。首先给出结论,是的,currentTarget是存在的,也就是开头说过的那个玩意,但是为什么是null呢?原答主说,是因为一些原因将这个引用属性重置为null了,具体原因他没说,我觉得应该是事件监听函数运行完毕之后,这个dom对象就被销毁了,所以才会出现null,另外一个原因我觉得是console.log的那么一点异步性,且看下图:

%3)T6GN$T}(BH$)6E9Q`CVO.png

这里log在属性改变之前,但是log的结果却是abc,所以,以上。


posted @ 2018-08-30 20:47  子龙_子龙  阅读(2)  评论(0编辑  收藏  举报