void 0 与 undefined
2019-03-10 11:54:42来源:博客园 阅读 ()
偶然看到一个问题:为什么有的编程规范要求用 void 0 代替 undefined?
如果不知道这个答案的小伙伴,第一反应就要问void 0是什么鬼?
void 0
void是JavaScript的一个操作符,而void 0会返回undefined,实验出真知,可以在浏览器试验一下
console.log(void 0) // undefined console.log(void 0 === undefined) // true
可以看出,void 0跟undefined是一样的,所以用void 0 代替undefined是完全可行的。但是为什么呢?
why
大家可以去MDN上了解一下undefined的定义:undefined是全局对象的一个属性,也就是说,它是全局作用域中的一个变量,undefined的最初值就是原始数据类型undefined。
注: ES5之后的标准中,规定了全局变量下的
undefined
值为只读,不可改写的,但是局部变量中依然可以对之进行改写。
function changeUndefined () { var undefined = 1; console.log(undefined); } changeUndefined(); // 1
而void 0无论什么时候都是返回undefined,这样来看,使用void 0来代替undefined就比较稳妥,不会出错。
原文链接:https://www.cnblogs.com/qiuxiaozhen/p/10497486.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- javascript:void(0)的含义 2019-08-14
- js 里面的那些节省字节的写法 a|0 void 0等等 2018-12-28
- JS中判断null、undefined与NaN的方法 2018-12-20
- js操作css样式,null和undefined的区别? 2018-12-02
- (转载)Javascript 中的非空判断 undefined,null, NaN的区别 2018-11-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash