js类型

1.typeof 返回值有六种可能: "number", "string","boolean" ,"object", "function" 和 "undefined "

 

2.关于NAN的理解

NaN, 它是用来表示是否属于number类型的一种状态: 是或否。而不是一个确切的值。

NaN值一般会在什么情况下出现呢?一般有两种情况:

(1) 一个表达式中如果有减号(-)、乘号(*) 或 除号(/) 等运算符时,JS引擎会在计算之前试图将运算符两边的变量转化为number类型,如果转化失败,表达式将返回NaN

(2) 直接使用 parseInt, parseFloat 或 Number 将一个非数字的值转化为数字时,表达式返回NaN

"abc"- 3// NaN

parseInt("abc")// NaN

parseFloat("abc")//NaN

Number("abc")//NaN

Number("123abc");//NaN

parseInt("123abc");//123

parseInt("123abc45");//123

parseFloat("123.45abc");//123.45

因此,当一个字符串不能被Number,parseInt,parseFloat成功转换时,就返回NaN,表示该字符串无法被识别为数字类型,这是一个异常状态,并不是一个确切的值。

所以 NaN != NaN , 因为它是一个异常状态,而不是一个确切的值。

另外,与NaN相关的还有一个函数,即 isNaN() , 它的作用是检查一个字符串是否能被Number()成功转换,即强制转化整个字符串。

isNaN("123")//false 能转换

isNaN("abc")//true 不能转换

isNaN("123abc")//true 部分可转换,但整体不能转换

isNaN("123.45abc")//true 部分可转换,但整体不能转换

3.关于number

原文地址:https://www.cnblogs.com/cindy-hmy/p/9705407.html