Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript将-1转换为1?_Javascript_Variables_Integer_Negative Number - Fatal编程技术网

如何使用javascript将-1转换为1?

如何使用javascript将-1转换为1?,javascript,variables,integer,negative-number,Javascript,Variables,Integer,Negative Number,如何使用javascript将-1转换为1 var count = -1; //or any other number -2 -3 -4 -5 ... 或 结果应该是 abs函数将所有数字变为正:即数学abs(-1)=1abs函数将所有数字变为正:即数学abs(-1)=1替代方法(可能比数学abs更快,未经测试): 请注意,javascript中的逐位操作始终是32位的。替代方法(可能比Math.abs更快,未经测试): 请注意,javascript中的逐位操作始终是32位的。如果感兴趣的数目

如何使用javascript将-1转换为1

var count = -1; //or any other number -2 -3 -4 -5 ...

结果应该是


abs函数将所有数字变为正:即数学abs(-1)=1

abs函数将所有数字变为正:即数学abs(-1)=1

替代方法(可能比数学abs更快,未经测试):

请注意,javascript中的逐位操作始终是32位的。

替代方法(可能比
Math.abs更快,未经测试):


请注意,javascript中的逐位操作始终是32位的。

如果感兴趣的数目是
输入
。。。除了

var count = (input < 0 ? -input : input);

如果
条件
为真,则计算
expr1
,如果为假,则计算
expr2

如果感兴趣的数量为
输入
。。。除了

var count = (input < 0 ? -input : input);

如果
条件
为真,则计算
expr1
,如果是fales
expr2
将被评估。

这里有一个与此相关的问题,它更关注下面的哪个答案更快:这里有一个与此相关的问题,它更关注下面的哪个答案更快:在FF3.6中,您的代码比Math.abs(FF3.6中最快的方法)慢6%,与
v<0-v:v
(其他测试浏览器中最快的)你的代码在Opera 3.6中慢了1%,在Chrome 6.0中慢了12%,在IE8中慢了20%。在上面的评论中,我指的是Opera 10.63。在FF3.6中,你的代码比Math.abs(FF3.6中最快的方法)慢了6%,与
v<0-v:v
(在其他测试浏览器中速度最快)你的代码在Opera 3.6中慢了1%,在Chrome 6.0中慢了12%,在IE8中慢了20%。在上面的评论中,我指的是Opera 10.63。如果不使用Math.abs(显示你想要做什么的最干净的方式,在FF3.6中也是最快的方式),试试
v<0?v*-1:v
相反,它比*-1快。@some-How是我所拥有的<代码>输入<0?输入*-1:输入与---------------------------
v<0不同?v*-1:v
?对不起,那应该是
v<0-v:v
。这是Opera 10.63、Chrome 6.3和IE8中速度最快的一款
Math.abs(v)
在Firefox 3.6中是最快的。你想知道它的速度有多慢吗?opera 10.63约占1.4%,FF3.6约占2%,IE8约占1%。在Chrome 6.3中,差异太小,无法测量。如果不使用Math.abs(显示您想要做什么的最干净的方式,也是FF3.6中最快的方式),请尝试
v<0?v*-1:v
相反,它比*-1快。@some-How是我所拥有的<代码>输入<0?输入*-1:输入与---------------------------
v<0不同?v*-1:v
?对不起,那应该是
v<0-v:v
。这是Opera 10.63、Chrome 6.3和IE8中速度最快的一款
Math.abs(v)
在Firefox 3.6中是最快的。你想知道它的速度有多慢吗?opera 10.63约占1.4%,FF3.6约占2%,IE8约占1%。在Chrome 6.3中,差异太小,无法测量。
 count = Math.abs(count)
 // will give you the positive value of any negative number
count = -5;
alert((count ^ (count >> 31)) - (count >> 31));
var count = (input < 0 ? -input : input);
condition ? expr1 : expr2