javascript - js中if(“a” in window)为何返回true?
迷茫
迷茫 2017-04-10 14:58:31
[JavaScript讨论组]

window对象有a这个属性么,为什么我window.a的值为undefined呢?,如果是"b" in window 那么就会false.所有的浏览器表现都是一样,应该不是插件污染。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(5)
黄舟

答案在这篇文章中:http://www.cnblogs.com/silentjesse/p/4024536.html

迷茫

a的值为undefined不代表它没有,这个属性应该是在某个位置声明过了.
比如

javascriptwindow.a = undefined;
'a' in window; //true
'b' in window; //false
PHP中文网


有图有真相~~

高洛峰

a应该不会定义在window全局变量上吧,不晓得怎么回事。

PHP中文网

变量提升,也可以看做是预编译而已,javascript引擎解析js会首先扫描var出来的变量,全局变量都是window的属性,用‘变量名称’ in window可以查看是否声明了变量

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

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