Javascript 将字符串转换为数字-parseInt()vs number();

Javascript 将字符串转换为数字-parseInt()vs number();,javascript,numbers,parseint,Javascript,Numbers,Parseint,为什么在这种情况下,当我想将字符串转换为数字时,parseInt可以工作,而数字不能工作 parseInt(this.element.style.left) << it works Number(this.element.style.left) << it doesn't, there is NaN 与: 如果parseInt遇到的字符不是指定基数中的数字,它将忽略该字符和所有后续字符,并返回解析到该点的整数值。parseInt将数字截断为整数值。允许使用前导空格和尾随

为什么在这种情况下,当我想将字符串转换为数字时,parseInt可以工作,而数字不能工作

parseInt(this.element.style.left) << it works
Number(this.element.style.left) << it doesn't, there is NaN
与:

如果parseInt遇到的字符不是指定基数中的数字,它将忽略该字符和所有后续字符,并返回解析到该点的整数值。parseInt将数字截断为整数值。允许使用前导空格和尾随空格

相反,Number尝试将整个参数解析为一个数字

例如,对于以px结尾的style.left,parseInt'12px'可以工作,因为parseInt可以忽略px。但数字“12px”不起作用,因为“12px”的所有字符都不能解释为数字

parseInt跳过无效字符并停止解析,计算到目前为止解析的内容

当任何地方都有无效字符时,Number根本无法解析