JS如何把对象转换为数字

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

以上转换的值都是基本类型值(原始值),其中数字组成的字符串被转换成对应的数字、true被转换成1false被转换成0null被转换成0、字母组成的字符串被转换成NaN、undefined被转换成NaN

那转换对象(包括数组)时又是什么样的呢?

在转换对象或者数组时,会先检查它有没有valueOf()方法,如果有并且返回基本类型值,就使用该值进行强制类型转换;如果没有就使用toString()方法的返回值(如果存在)来进行强制类型转换。

例如: