我想知道 = + _ 运算符在JavaScript中的含义。看起来像是在做作业。
例:
hexbin.radius = function(_) { if (!arguments.length) return r; r = +_; dx = r * 2 * Math.sin(Math.PI / 3); dy = r * 1.5; return hexbin; };
r = +_;
+
_
a
foo
+"1"
将“ 1”强制转换为纯数字1。
var _ = "1"; var r = +_;
r现在1,不是"1"。
r
1
"1"
此外,根据算术运算符的MDN页面:
一元加号运算符位于其操作数之前,并求值为其操作数,但是 尝试将其转换为数字(如果尚未转换为数字) 。 […] 它可以转换整数和浮点数的字符串表示,以及非字符串值true,false和null。支持十进制和十六进制(带"0x"前缀)格式的整数。支持负数(尽管不支持十六进制)。如果无法解析特定值,则将求值为NaN。
true
false
null
"0x"
NaN
还应注意
一元加号是将某物转换为数字的最快且首选的方式