鍍金池/ 問答/HTML/ 為什么這兩個操作返回結(jié)果不一致,a為啥不是NaN呢?

為什么這兩個操作返回結(jié)果不一致,a為啥不是NaN呢?

var a = 9/0;
a;
Infinity
typeof a;
"number"



typeof 9/0;
NaN
typeof NaN
"number"
回答
編輯回答
拽很帥

typeof(9/0)是'number'呀
Infinity就是無窮大,是個數(shù)

2018年4月14日 01:53
編輯回答
笑忘初

typeof的優(yōu)先級比/高

2017年2月3日 07:07
編輯回答
喜歡你

類似

var a = 1;
typeof a*1

會輸出 NaN
var a = 1;
typeof (a*1)
會輸出NUmber

原因是因為typeof 后面的參數(shù)是不參與計算的, typeof 9/0 , 9/0他不會計算結(jié)果,所以NaN不是數(shù)字
加上括號后會進行優(yōu)先計算,typeof (9/0) 先計算9/0 = Infinity ,然后typeof Infinity 為Number

可以看MDN相關(guān)描述

MDN上的關(guān)鍵描述(扣字):
typeof操作符返回一個字符串,表示未經(jīng)計算的操作數(shù)的類型。

2018年7月1日 09:27