获得徽章 0
赞了这篇沸点
十一开车回广西,会不会超级堵车,来个朋友说一下,打消开车回去的念头[捂脸][捂脸],谢谢大家啦
252
赞了这篇沸点
突然发现沸点用的评论框是div设置了contenteditable="true",为何不用input,这里有什么说法呢
7
赞了这篇沸点
[js] 请解释下NaN === NaN的结果
"在JavaScript中,NaN代表一个特殊的数值,它表示\"不是一个数字\"。NaN是一个特殊的值,它与任何其他值(包括自身)进行比较都会返回false,包括NaN本身。

所以,NaN === NaN 的结果是false。

这是因为NaN被定义为一个特殊的、不可比较的值。在JavaScript中,NaN的类型是Number,但它不等于任何其他的数字,包括NaN本身。这是由于NaN的特性决定的。

下面是一些示例代码来验证这一点:

```javascript
console.log(NaN === NaN); // false

const x = NaN;
console.log(x === x); // false

console.log(Object.is(NaN, NaN)); // true
```

在第一个示例中,我们直接比较NaN与NaN,返回的结果是false。

在第二个示例中,我们将NaN赋值给变量x,并对x与自身进行比较,结果同样是false。

然而,在第三个示例中,我们使用了Object.is()方法来比较NaN与NaN,它是一种严格相等比较的方式。在这种比较方式下,NaN与NaN是相等的,返回的结果是true。

需要注意的是,虽然NaN与NaN的比较结果是false,但我们可以使用isNaN()函数来判断一个值是否是NaN。这是因为isNaN()函数在执行比较前会先进行类型转换,将非数字的值转换为NaN,然后再进行比较。

```javascript
console.log(isNaN(NaN)); // true
console.log(isNaN(\"Hello\")); // true
console.log(isNaN(123)); // false
```

在上面的示例中,我们可以看到isNaN()函数将非数字的值转换为NaN,然后返回true。

总结起来,NaN === NaN 的结果是false,这是由于NaN的特殊性决定的。我们可以使用Object.is()方法来进行严格相等比较,或者使用isNaN()函数来判断一个值是否是NaN。"
展开
1
赞了这篇沸点
年龄越大心态越不行,真不如年轻的时候:
目前房贷30w,存款2w;别人欠我共计6w;
没车,28.5岁;
其实感觉压力也不大,但是就是容易烦躁,细想也不知道压力来源就是莫名其妙的烦,伙计们这是为啥,
7
前端砖家
下一页
个人成就
文章被点赞 9
文章被阅读 3,333
掘力值 93
收藏集
20
关注标签
1
加入于