在JavaScript中将其它类型转换为数字使用的是Number()方法。以下是一些规则:
-
数字值:返回数字值本身。
-
字符串:如果字符串表示一个有效的数字(如“123”),则返回该数字值。如果不是有效的数字(如“abc”),则返回NaN。
-
布尔值:true为1,false为0。
-
null:返回0。
-
undefined:返回NaN。
-
对象:JavaScript会首先尝试调用对象的valueOf()方法。如果返回的值不是一个原始类型(如数字、字符串等),则调用toString()方法。如果这两个方法都没有返回原始类型的值,则返回NaN。
例如:
Number(42) // 42 Number("123") // 123 Number("abc") // NaN Number(true) // 1 Number(false) // 0 Number(null) // 0 Number(undefined) // NaN Number({}) // NaN