前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >undefined 和 void 0 区别?

undefined 和 void 0 区别?

作者头像
web前端教室
发布2018-02-06 14:27:08
8950
发布2018-02-06 14:27:08
举报
文章被收录于专栏:web前端教室web前端教室

这二个东西都是各有各的用处,一般if判断的时候,我用undefined的时候多些;a标签的时候用 void 0 的时候多些。还有的时候,就是写JQ插件之类的东西的时候,会把undefined设置为一个未定义的形参,就这样,(function(a,b,undefined){...})(jq,win),,类似这样的。

一般多数情况下,你可以把它们俩一样使用。但区别还是有的,undefined它不是保留词,这玩艺就是一个属性,在一些低版本的浏览器中是可以被重写的,这种例子就不举了,你自己百度领会哈。虽然说在ES5中,它确实是一个全局的只读属性,按说是不能重写的,但这事没谱啊,例如某此局域变量里

那void 0呢,就是void这个运算符对给定的表达式求值,然后返回undefined。意思吧,你可以理解为,只要是void后面你跟任何东西,返回的都是undefined。来吧,用这个不用担心被重定义undefined了,那void后面最短的,就是0了,而且void这玩艺不能被重写!而且void 0长度比undefined短,压缩有时也用它来代替undefined。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档