相关疑难解决方法(0)

在Javascript中做什么~~("双波浪")?

我今天正在查看一个在线游戏物理库,并遇到了~~运算符.我知道单个〜是一个按位NOT,是否会使~~不是NOT,它会返回相同的值,不是吗?

javascript

197
推荐指数
7
解决办法
2万
查看次数

`Math.trunc` vs` | 0` vs` << 0` vs` >> 0` vs`&-1` vs` ^ 0`

我刚刚发现在ES6中有一种新的数学方法:Math.trunc.

我已经在MDN文章中阅读了它的描述,听起来像是在使用|0.

此外,<<0,>>0,&-1,^0也做类似的事情(感谢@kojiro&@Bergi).

经过一些测试,似乎唯一的区别是:

  • Math.trunc-0以间隔返回数字(-1,-0].按位运算符返回0.
  • Math.trunc返回NaN非数字.按位运算符返回0.

是否存在更多差异(所有这些差异)?


n      | Math.trunc | Bitwise operators
----------------------------------------
42.84  | 42         | 42
13.37  | 13         | 13
0.123  | 0          | 0
0      | 0          | 0
-0     | -0         | 0
-0.123 | -0         | 0
-42.84 | -42        | -42
NaN    | NaN        | 0
"foo" …
Run Code Online (Sandbox Code Playgroud)

javascript math bit-manipulation truncated

6
推荐指数
1
解决办法
209
查看次数

标签 统计

javascript ×2

bit-manipulation ×1

math ×1

truncated ×1