对不起,如果这是一个重复的问题;无法在任何地方找到答案。
Javascript标准是否保证~0
的确定性结果?
Chrome为-1
提供了<script>alert(~0);</script>
。
这个结果是否保证跨浏览器(以及一般的跨平台)?
答案 0 :(得分:2)
- 让expr成为评估UnaryExpression的结果。
- 让oldValue为ToInt32(GetValue(expr))。
- 返回对oldValue应用按位补码的结果。结果是带符号的32位整数。
醇>
第一步实际评估表达式。第二步将表达式转换为32位整数。所有实现都应该正确实现。第三步只是翻转数字中的位。只有一种方法可以做到这一点。
所以我希望所有的实现都能给出相同的结果。
答案 1 :(得分:2)