JS中的按位非(~)的使用技巧

php中世界最好的语言
풀어 주다: 2018-03-19 16:45:06
원래의
2237명이 탐색했습니다.

这次给大家带来JS中的按位非(~)的使用技巧,使用JS中按位非(~)的注意事项有哪些,下面就是实战案例,一起来看一下。

按位非

按位非操作符由一个波浪线(~)表示,执行按位非的结果就是返回数值的反码

现在让我来看几个例子

例子1

console.log(4);
console.log(~4);
console.log(~~4);
로그인 후 복사

例子2

console.log(4.9.toString(2));
console.log(~4.9);
console.log(~~4.9);
로그인 후 복사

例子3

console.log(-4.1.toString(2));
console.log(~-4.1);
console.log(~~-4.1);
로그인 후 복사

结论

 通过上面的例子我们可以知道对于整数,按位非就是操作数的负值减1.

但是对于浮点数就比较麻烦了,操作浮点数时,会直接舍去小数部分,再取负值减1

利用这点我们可以可以使用~~来代替Math.floor();

比如我们经常求一个数组的中点,就可以直接~~(arr.length/2),是不是比Math.floor()来的更方便呢?

此外|0操作也可以达到和~~类似的效果,例如(arr.length/2)|0

再补充个小知识:

console.log(~~NaN);//0console.log(NaN|0);//0
로그인 후 복사

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Reactive Form的自定义验证器

请求跨域解决方法CORS

위 내용은 JS中的按位非(~)的使用技巧의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!