详解void 0与undefined区别
生活随笔
收集整理的這篇文章主要介紹了
详解void 0与undefined区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在學習js庫或者框架的時候,發現很多地方用到了void 0,就細心研究了一下。
void 運算符
對給定的表達式進行求值,然后返回 undefined。
void 運算符通常只用于獲取 undefined的原始值,一般使用void(0)(等同于void 0)。在上述情況中,也可以使用全局變量undefined 來代替。—摘自 MDN
換句話說 void 0和undefined是等價的。如下:
volid 后面的不能跟未聲明的變量,否則會報錯。
void+xxx都是undefined,那么為什么一些工具庫中是0呢,可能為了方便吧。
void 0 與undefined
undefined是全局對象的一個屬性。也就是說,它是全局作用域的一個變量。undefined的最初值就是原始數據類型undefined;
在現代瀏覽器(JavaScript 1.8.5/Firefox 4+),自ECMAscript5標準以來undefined是一個不能被配置(non-configurable),不能被重寫(non-writable)的屬性。即便事實并非如此,也要避免去重寫它。但是在局部作用域中,還是可以被重寫的。
undefined可能被重寫,void 0 不會被重寫。
而void 0無論什么時候都是返回undefined,這樣來看,使用void 0來代替undefined就比較穩妥,不會出錯。
總結
以上是生活随笔為你收集整理的详解void 0与undefined区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Promises/A+规范中文翻译
- 下一篇: 判断是否是数组的方法