Javascript中变量之前的+运算符是什么?

时间:2012-08-29 09:31:32

标签: javascript

我正在研究Raphael JS库,但我看到了:

Animation.prototype.delay = function (delay) {
    var a = new Animation(this.anim, this.ms);
    a.times = this.times;
    a.del = +delay || 0;
    return a;
};

延迟变量之前的+运算符是什么?

感谢。

3 个答案:

答案 0 :(得分:17)

如果可能,它会将 String 变量转换为数字:+'21.2'等于Number(21.2)。如果转换失败,则会返回NaN|| 0在示例代码中启动的位置)

答案 1 :(得分:7)

如果变量有数字,这是一种将变量值设为数字的方法。替代方案,您可以使用Number函数。

答案 2 :(得分:0)

它是一元运算符。它可以从stringboolean甚至null值中转换/解析数字。

它可以:

解析字符串中的数字,因此+“ 23”返回23
将+ True / + False分别解析为1或0。
甚至+ null都将返回0。

您当然可以对上述退货执行Math.*功能。

例如

let str = "25.5";
Math.ceil(+str) // would return 26

我希望这会有所帮助!