日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

详解void 0与undefined区别

發(fā)布時間:2024/8/1 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解void 0与undefined区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在學習js庫或者框架的時候,發(fā)現(xiàn)很多地方用到了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的最初值就是原始數(shù)據(jù)類型undefined;
在現(xiàn)代瀏覽器(JavaScript 1.8.5/Firefox 4+),自ECMAscript5標準以來undefined是一個不能被配置(non-configurable),不能被重寫(non-writable)的屬性。即便事實并非如此,也要避免去重寫它。但是在局部作用域中,還是可以被重寫的。

// 不要這樣做!// 打印 'foo string' PS:說明undefined的值和類型都已經(jīng)改變 (function() { var undefined = 'foo'; console.log(undefined, typeof undefined) })()// 打印 'foo string' PS:說明undefined的值和類型都已經(jīng)改變 (function(undefined) { console.log(undefined, typeof undefined) })('foo')

undefined可能被重寫,void 0 不會被重寫。
而void 0無論什么時候都是返回undefined,這樣來看,使用void 0來代替undefined就比較穩(wěn)妥,不會出錯。

總結(jié)

以上是生活随笔為你收集整理的详解void 0与undefined区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。