JavaScript控制台输出中的JavaScript除以零

时间:2016-02-13 18:45:56

标签: javascript google-chrome firefox

我在chrome和firefox控制台上玩除零。当我得到两个不同的输出取决于它是否用括号包围操作时,我感到很惊讶。

> typeof 1/0
<- NaN
> typeof (1/0)
<- "number"

当然,我们知道NaN的类型是“数字”,尽管它是“Notanumber”。

console.log(typeof 1/0);
//outputs NaN
console.log(typeof (1/0));
//outputs number

有人可以解释这种差异吗?

2 个答案:

答案 0 :(得分:1)

typeof运算符紧紧绑定,所以

typeof 1/0

被解释为

(typeof 1) / 0

从数字和字符串之间的任何尝试除法运算中得到NaN

答案 1 :(得分:0)

我认为Chrome正在评估typeof 1,然后将该部门评为零,这就是为什么它是NaN。在另一种情况下,它评估整个1/0等于无穷大。