Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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
与-1相比,在javascript中使用带tilde的变量有什么优势?_Javascript_Tilde - Fatal编程技术网

与-1相比,在javascript中使用带tilde的变量有什么优势?

与-1相比,在javascript中使用带tilde的变量有什么优势?,javascript,tilde,Javascript,Tilde,除了轻微的性能提升之外,使用它还有什么好处吗~x为真与检查~-1?是否没有行为差异。对您正在实施的场景使用最清晰的选项。没有行为差异。对于您正在实施的场景,请使用最清晰的选项。对于较大的数字,可能会有所不同。因为你被限制在32位的范围内,请考虑以下内容: var x = Math.pow(2,32)-1; // 4294967295 console.log(~x); // 0 因此,这里得到一个0结果,它给出了与预期相反的布尔转换。对于大的数字可能会有差异。因为你被限制在32位的范围内,请考

除了轻微的性能提升之外,使用它还有什么好处吗~x为真与检查~-1?

是否没有行为差异。对您正在实施的场景使用最清晰的选项。

没有行为差异。对于您正在实施的场景,请使用最清晰的选项。

对于较大的数字,可能会有所不同。因为你被限制在32位的范围内,请考虑以下内容:

var x = Math.pow(2,32)-1; // 4294967295

console.log(~x); // 0

因此,这里得到一个
0
结果,它给出了与预期相反的布尔转换。

对于大的数字可能会有差异。因为你被限制在32位的范围内,请考虑以下内容:

var x = Math.pow(2,32)-1; // 4294967295

console.log(~x); // 0

所以这里你得到了一个
0
结果,它给出了与你预期相反的布尔转换。

如果(~someString.indexOf(someOtherString)){…}
很好,但并不总是清晰。
~1
-2
~X
可以用来在
X
上做“地板”(其中X是正的)你说什么“检查是否~-1”?是你的问题
~x
vs
x!=-1
如果(~someString.indexOf(someOtherString)){…}
很好,但并不总是很清楚。
~1
-2
~x
可以用来在
x
上做“地板”(其中x为正)你说“检查是否~-1”是什么意思"? 你的问题是
~x
vs
x!=-1
?仍然不确定这是否回答了问题,因为我不确定问题的实质是什么:(@shmiddy:我很确定你在问题下的评论描述了提问者的意图。但是如果这是一个数组或类似数组的集合,可以有非常高的索引,可能会有意外的结果。我肯定会+1,因为这是一件值得注意的事情。仍然不确定这是否回答了问题,因为我不确定问题实际上是:(@shmiddy:我很确定你在问题下的评论描述了提问者的意图。但如果这是一个数组或类似数组的集合,可以有非常高的索引,可能会有意外的结果。我肯定会+1,因为这是一件值得注意的事情。