為什麼typeof null undefined 的返回值不確定?

時間 2021-05-06 17:41:02

1樓:王琦

這個應該就是相容和版本的問題吧,不同版本的typeof null返回的值是有出入的,可至於為什麼會同時出現這種情況,而且出現不穩定的次數,難道這個題真的有什麼陰謀嗎……

2樓:Poker Lee

這其實是 Google 的量子計算實驗:

null 是乙個量子,它有兩種狀態:一種是 null, 一種是 undefined.

對表示式求值之前,它處於 null 和 undefined 的疊加態。

求值後,有 的概率坍縮為狀態 null, 有 的概率坍縮為狀態 undefined.

(胡扯中)

3樓:並不麻煩

表示chrome 50.0有這個bug,EDGE和115沒有,Opera有;chrome更新到51.0也還是有

更新之後更不容易發現了

4樓:

這莫非是chrome v8的bug?

試了下,就算把console.log放foo裡面也會出問題,但是放setTimeout(0)裡面就沒問題了...額,這是為什麼呢?

5樓:

提供一些測試。

另外如果用

for (i=0;i<256;i++)console.log(typeof null=='undefined')

的話就全是false。

在edge上跑全是false。

需要注意的是false和true不是交替出現的~

6樓:

單獨執行typeof null === "undefined" 總是false

比如這樣:

console

.log

(typeof

null

==="undefined"

);console

.log

(typeof

null

==="undefined"

);……

console

.log

(typeof

null

==="undefined"

);在for迴圈裡跟題目還有小區別

7樓:項理

似乎只有chrome出現這一現象;

而且貌似只有輪子的這種for迴圈加閉包模式;

可能是因為typeof會去校驗物件的物件內容null出現在chrome中得例項物件是有別於其他版本的?

似乎是乙個空指標,指向空閒記憶體位址,而這些記憶體內容可能是不確定的。

如果你的記憶體很大,剛開機不久,那應該true多一些。

我這是胡說八道,別信此人

8樓:D12mnIT

我猜是chrome dev tools 的Bug, 我在chrome51中測試出現了這種情況,但是在chrome53中並沒有出現。。。

為什麼要重男輕女,為什麼?

Stunk 簡單說說國內重男輕女的假象 嫁出去的女兒潑出去的水 這是一句俗話,深入人心 現代社會,物質生產跟上來了,女兒們開始反哺原生家庭了,於是也出現了農村地區殺男嬰的故事 先說說古代為何 重男輕女 因為女兒不顧原生家庭 在物質匱乏的古代,生存本來就是一件難事,讓女人來顧家是不可能的 怎麼得出這個...

為什麼那麼焦慮?為什麼那麼勢利?為什麼那麼急於成功?

個人感覺最重要的是人在社會中的安全感。其實真不是每個人都那麼地渴望成功,而且成功的定義本來就是多種多樣的。但在中國,如果你沒有達到廣泛定義上的 成功 你可能會有以下的結果 你可能在城市中會隨時沒有安身之所,你可能會遭受不公但投訴無門,你的父母至親可能患病也得不到最基本救助,你的孩子可能得不到平等的教...

我為什麼是我?為什麼?

主角戲 馬克思說過,人是所有社會關係的總和,所以首先,你作為人來說,你只是你周圍所有關係的總和,你的偏執,你的瘋狂,你的愛情,你的孝順,你的所有人生觀,價值觀,世界觀,宇宙觀,形成了你。但是你錯誤的把這些當成了你,其實這些都是人的錯誤認識,心 的本體,也就是能生萬物,能生萬法的這個東西沒有被發現之前...