NaN NaN==NaN为flase

大家好,我是逆战班的一名学员,今天给大家分享的是关于NaN的内容。

NaN(not a number),它不是一个数值,表示的是存储的数据的数据类型;如果有非数值参与计算,结果就是NaN。下面给大家举几个例子。

var str1 = “北京”; var str2 = “上海

举例一:var res1 = str1 - str2;

console.log(res1);

执行结果是:NaN。(因为两个变量中存储的数据都不是数值。)

举例二:var res2 = 100 - str1;

console.log(res2);

执行结果是:NaN。(因为有NaN参与,所以结果也是NaN。)

举例三:var res3 = 100+str3;

Console.log(res3);

执行结果是:100北京。(如果是+号,两侧都是数值,会执行加法操作;有一个字符串,就执行加法操作。)

由这三个例子我们可以做出总结:

<1>,NaN虽然是一个非数值,但是一般是算数运算的结果,因此NaN仍然是数值类型。

<2>,在执行运算时,非加法运算只要有NaN参与,执行结果都是NaN。如果是加法运算的话,有NaN,执行字符串拼接操作。如果都是数值,执行加法操作。

<3>,NaN == NaN  执行结果永远是false

JS中,虽然NaN表示的是非数值,但是这个非数值也是不同的,因此NaN永远不等于NaN

猜你喜欢

转载自www.cnblogs.com/5f5ajhf2/p/12506977.html
NaN