Javascript 按位取反运算符 (~)


Posted in Javascript onFebruary 04, 2014
result = ~ 【数字】

所有一元运算符(如 ~ 运算符)都按照下面的规则来计算表达式的值:

1、 如果应用于未定义的表达式或 null 表达式,则会引发一个运行时错误。
2、 将对象转换为字符串。
3、 如果可能,将字符串转换为数字。 否则,将引发运行时错误。
4、 布尔值被视为数字(如果为 false,则为 0;如果为 true,则为 1)。

运算符将应用于结果数字。

~ 运算符查看表达式的二进制表示形式的值,并执行位非运算。

表达式中的任何一位为 1,则结果中的该位变为 0。 表达式中的任何一位为 0,则结果中的该位变为 1。

下面的示例阐释了位非 (~) 运算符的用法,其中包含二进制表示十进制负数的,如果不熟悉这个请先看懂《十进制负数转换为二进制、八进制、十六进制》。

var temp = ~5;
/*
5 二进制 101,补满 32位
00000000000000000000000000000101
按位取反
11111111111111111111111111111010
由于32位开头第一个是1,所以这是一个负数,将二进制转换成负数,需要先反码
00000000000000000000000000000101
之后,再+1
00000000000000000000000000000110
转换成十进制为6,加上符号变成负数 -6
*/
alert(temp);
// 弹出【-6】
Javascript 相关文章推荐
Javascript中的数学函数集合
May 08 Javascript
使用JQuery和s3captche实现一个水果名字的验证
Aug 14 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
Jan 05 Javascript
javascript各浏览器中option元素的表现差异
Apr 07 Javascript
父节点获取子节点的字符串示例代码
Feb 26 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
confirm的用法示例用于按钮操作时确定是否执行
Jun 19 Javascript
javascript 广告移动特效的实现代码
Jun 25 Javascript
vue resource post请求时遇到的坑
Oct 19 Javascript
微信小程序商品详情页规格属性选择示例代码
Oct 30 Javascript
Node.js成为Web应用开发最佳选择的原因
Feb 05 Javascript
vue之将echart封装为组件
Jun 02 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
Feb 04 #Javascript
jquery操作复选框(checkbox)的12个小技巧总结
Feb 04 #Javascript
jquery 获取dom固定元素 添加样式的简单实例
Feb 04 #Javascript
jquery判断元素的子元素是否存在的示例代码
Feb 04 #Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 #Javascript
jquery中get和post的简单实例
Feb 04 #Javascript
jquery中$.post()方法的简单实例
Feb 04 #Javascript
You might like
在PHP中利用XML技术构造远程服务(上)
2006/10/09 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
php实现图片缩略图的方法
2016/03/29 PHP
php微信开发之上传临时素材
2016/06/24 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
JS实现标签页效果(配合css)
2013/04/03 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
2020/02/07 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
django数据库自动重连的方法实例
2019/07/21 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
优秀毕业生推荐信范文
2014/03/07 职场文书
办理收楼委托书范本
2014/10/09 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
新手初学Java List 接口
2021/07/07 Java/Android