如何使用javascript将-1转换为1?
如何使用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位的。如果感兴趣的数目
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位的。如果感兴趣的数目是输入
。。。除了
var count = (input < 0 ? -input : input);
如果条件
为真,则计算expr1
,如果为假,则计算expr2
。如果感兴趣的数量为输入
。。。除了
var count = (input < 0 ? -input : input);
如果条件
为真,则计算expr1
,如果是falesexpr2
将被评估。这里有一个与此相关的问题,它更关注下面的哪个答案更快:这里有一个与此相关的问题,它更关注下面的哪个答案更快:在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