一尘不染

= + _在JavaScript中是什么意思

javascript

我想知道 = + _ 运算符在JavaScript中的含义。看起来像是在做作业。

例:

hexbin.radius = function(_) {
   if (!arguments.length)
       return r;
   r = +_;
   dx = r * 2 * Math.sin(Math.PI / 3);
   dy = r * 1.5;
   return hexbin;
};

阅读 797

收藏
2020-04-25

共1个答案

一尘不染

r = +_;

  • +尝试将任何内容强制_转换为数字。
  • _只是一个变量名(不是运算符),可以是afoo等等。

例:

+"1"

将“ 1”强制转换为纯数字1。

var _ = "1";
var r = +_;

r现在1,不是"1"

此外,根据算术运算符的MDN页面:

一元加号运算符位于其操作数之前,并求值为其操作数,但是 尝试将其转换为数字(如果尚未转换为数字)[…]
它可以转换整数和浮点数的字符串表示,以及非字符串值truefalsenull。支持十进制和十六进制(带"0x"前缀)格式的整数。支持负数(尽管不支持十六进制)。如果无法解析特定值,则将求值为NaN

还应注意

一元加号是将某物转换为数字的最快且首选的方式

2020-04-25