javascript - 请看我对这段代码的解释对不对
伊谢尔伦
伊谢尔伦 2017-04-11 12:00:54
[JavaScript讨论组]



            
            
            
            
            
            
            
            
            
            
            
            

            
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(5)
PHP中文网

"无效代码,不被执行",这半句我觉得可以再深入一点。你在e.addEventListener("click",somename)的时候,第二个参数代表的是变量名。

somename就是一个变量名,你用typeof somename可以得到这个变量的类型,如果它是function,那么click事件发生的时候就会去执行这个函数。

但是现在直接把somename()传进去之后是什么意思呢?意思是把somename()的运行结果作为第二个参数传进去,那么typeof somename()得到的是什么呢?undefined。所以这里就发生了:1.运行函数(发生了alert),得到结果(undefined),将结果作为addEventListener的第二个参数传入;2.click事件发生的时候,执行undefined,所以什么也不发生,当然e.addEventListener("click",undefined)第二个参数为undefined的话,这个绑定动作其实也没有发生,所以你说“第二项参数不符合”也是OK的。

ringa_lee

理解的没错,理解的没错

高洛峰


终于分清函数函数执行

天蓬老师

楼主搜一下(js预解释),或许会有不同的理解。

阿神

‘因为第二项参数不符合’你这样说也没错,可以这样理解;
e.addEventListener("click",demo1()) 当代码执行这段时demo1()被执行而且函数返回值是undefined,相当于e.addEventListener("click",undefined);这情况下这个绑定事件也不会被成功绑定,也就是button压根没被绑上‘click’事件,所以你再点他时是没有反应的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号