我想知道= +_操作符在JavaScript中是什么意思。它看起来像是在做作业。
例子:
hexbin.radius = function(_) {
if (!arguments.length)
return r;
r = +_;
dx = r * 2 * Math.sin(Math.PI / 3);
dy = r * 1.5;
return hexbin;
};
我想知道= +_操作符在JavaScript中是什么意思。它看起来像是在做作业。
例子:
hexbin.radius = function(_) {
if (!arguments.length)
return r;
r = +_;
dx = r * 2 * Math.sin(Math.PI / 3);
dy = r * 1.5;
return hexbin;
};
当前回答
=+实际上是两个运算符=是赋值,+和_是变量名。
如:
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
其中as是一个变量。
_ = + '5'
x = _ + 5
alert(x)
输出10
此外, 有趣的是,你也可以用~(如果字符串是int字符串(float将是整轮到int))实现同样的事情。
y = ~~'5' // notice used two time ~
x = y + 5
alert(x);
也输出10
~是按位的NOT:将其操作数的位反转。我做了两次,幅度没有变化。
其他回答
不是=+。在JavaScript中,+表示将其更改为数字。
+'32'返回32。
+“a”南。
因此,您可以使用isNaN()来检查它是否可以更改为number。
_只是一个变量名,作为函数hexbin的参数传递。半径,并将其转换为数字
让我举一个和你的函数一样的例子。
var hexbin = {},r ;
hexbin.radius = function(_) {
if (!arguments.length)
return r;
console.log( _ , typeof _ )
r = +_;
console.log( r , typeof r , isNaN(r) );
}
并运行这个示例函数..的输出
hexbin.radius( "1");
1 string
1 number false
hexbin.radius( 1 );
1 number
1 number false
hexbin。半径([]);
[] object
0 number false
hexbin。半径('a');
a string
NaN number true
hexbin。半径({});
Object {} object
NaN number true
hexbin。半径(真);
true boolean
1 number false
它不是赋值操作符。
_只是传递给函数的参数。 hexbin。半径=函数_ { // ^它被传递到这里 / /…… }; 下一行r = +_;+ infront将该变量(_)转换为一个数字或整数值,并将其赋给变量r
不要把它与+=运算符混淆
它将给左边变量一个数字赋新值。
var a=10;
var b="asg";
var c=+a;//return 10
var d=-a;//return -10
var f="10";
var e=+b;
var g=-f;
console.log(e);//NAN
console.log(g);//-10
= +_将_转换为一个数字。
So
var _ = "1",
r = +_;
console.log(typeof r)
将输出数字。