转换规则
如果是Boolean,true=>1, false=>0
如果是数字值,不变
如果是null,返回0
如果是undefined, 返回NaN
如果是字符串
如果只包含数字,则转换为对应的数值
如果字符串包含有效的浮点格式,则转换成对应的浮点数
如果字符串包含有效的十六进制格式,则转换为相同大小的十进制数
如果字符串是空的,则转换成0
如果字符串不满足上述格式,则转换成NaN
如果是对象,先调用valueOf(),再按上述规则转换,如果转换结果为NaN,则调用toString(),再按上述规则转换。