什么= +
我想知道= + _运算符在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"
。
此外,根据算术操作符的MDN页面:
一元加运算符在它的操作数之前并且计算到它的操作数,但是试图将它转换成一个数字(如果它还没有的话) 。 [...]它可以转换整数和浮点数的字符串表示形式,以及非字符串值true
, false
和null
。 支持十进制和十六进制( "0x"
前缀)格式的整数。 支持负数(不适用于十六进制)。 如果它无法解析某个特定值,它将评估为NaN
。
还有人指出
unary plus是将某些东西转换为数字的最快和首选方式
它不是一个赋值运算符。
_
只是传递给函数的参数。
hexbin.radius = function(_) {
// ^ It is passed here
// ...
};
在下一行r = +_;
+
infront将该变量( _
)转换为数字或整数值并将其分配给变量r
不要用+=
运算符来确认它
=+
实际上是两个运算符=
赋值和+
和_
是变量名称。
喜欢:
i = + 5;
or
j = + i;
or
i = + _;
我的以下代码将帮助您显示使用=+
将字符串转换为int。
例:
y = +'5'
x = y +5
alert(x);
输出10
使用:所以这里y
是int 5
因为=+
除此以外:
y = '5'
x = y +5
alert(x);
输出55
作为_
是变量的地方。
_ = + '5'
x = _ + 5
alert(x)
输出10
此外,知道你也可以用~
实现同样的事情会很有意思(如果string是int string(float将被舍入为int))
y = ~~'5' // notice used two time ~
x = y + 5
alert(x);
也输出10
~
是按位NOT:反转其操作数的位。 我做了两次,没有变化。
上一篇: What does = +
下一篇: =) operator in Java