JavaScript中添加加号的含义

12

在以下代码中,'+'的作用是什么?

var result = jQuery.trim(this.html2val(this.getValueJelement()[0].innerHTML));
    result = +result.replace(/[^\d\.-]/g, '');
3个回答

20

这基本上是一种巧妙的方式,将右侧操作数强制转换为数字值。例如:

> +"42"
42

2
它将操作数转换为数字。换句话说,它基本上与 result = parseFloat(result) 相同。

2
实际上,+something 更类似于 Number(something) 而不是 parseFloat(something),因为使用全局对象 Number 内部调用了 ToNumber() 函数,该函数具有不同的规则来转换其他类型,而 parseFloat(something) 将参数转换为字符串并使用另一组规则将其转换为数字。一个简单的演示是将 "12.3a" 值转换为数字:parseFloat("12.3a") -> 12.3; +'12.3a' -> NaN; Number('12.3a') -> NaN - iulian

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接