JS中可以使用Number()
函数把目标值转换为数字,例如:

以上转换的值都是基本类型值(原始值),其中数字组成的字符串被转换成对应的数字、true
被转换成1
、false
被转换成0
、null
被转换成0
、字母组成的字符串被转换成NaN、undefined
被转换成NaN
。
那转换对象(包括数组)时又是什么样的呢?
在转换对象或者数组时,会先检查它有没有valueOf()
方法,如果有并且返回基本类型值,就使用该值进行强制类型转换;如果没有就使用toString()
方法的返回值(如果存在)来进行强制类型转换。
例如:
