10

我正在研究 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;
};

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

谢谢。

4

3 回答 3

17

如果可能,它将字符串变量转换为数字:+'21.2'等于Number(21.2)。如果转换失败,它会返回NaN(这就是|| 0您的示例代码中的作用)

于 2012-08-29T09:33:28.443 回答
7

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

于 2012-08-29T09:33:28.390 回答
0

它是一元运算符string它从 a或boolean什至null值转换/解析数字。

它可以:

从字符串中解析一个数字,因此 +"23" 返回 23
Parse +True/+False 分别为 1 或 0。
甚至 +null 也会返回 0。

当然,您可以Math.*对上述这些返回执行功能。

例如。

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

我希望这有帮助!

于 2020-06-08T11:15:19.893 回答