javascript - javasript内置属性的问题
大家讲道理
大家讲道理 2017-04-11 09:51:43
[JavaScript讨论组]

问题在代码中

var a = 3;
console.log( a in window ); // false,-------------为什么,

// NaN明明是Number的属性,为什么可以直接使用,也可以通过window访问
console.log(NaN); // NaN
console.log(Number.NaN); // NaN
console.log(window.NaN); // NaN

console.log(Number.hasOwnProperty(NaN)); // true
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
阿神

1, 任何一个 javascript property 都有三个 attribute,分别是 configurable,enumerable,writable. 通过 var 声明的变量是不可以 enumberable 的,所以无法通过 a in window 判断出来改特性是否在 window 对象上。
2, NaN 既是一个全局的特性也是 Number 对象的静态特性.故可以通过 NaNNumber.NaN 访问。又因为运行的环境是浏览器,全局对象是 window,故也可以通过 window.NaN 访问

参考:
Number 静态特性
全局对象

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

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