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变强势
Jun 22 Javascript
javascript 匿名函数的理解(透彻版)
Jan 28 Javascript
IE下js调试工具Companion.JS
Oct 15 Javascript
JQuery的read函数与js的onload不同方式实现
Mar 18 Javascript
将form表单中的元素转换成对象的方法适用表单提交
May 02 Javascript
JS动态改变表格边框宽度的方法
Mar 31 Javascript
javascript中replace( )方法的使用
Apr 24 Javascript
JS+CSS相对定位实现的下拉菜单
Oct 06 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 jQuery
微信小程序事件对象中e.target和e.currentTarget的区别详解
May 08 Javascript
vue-cli3添加模式配置多环境变量的方法
Jun 05 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使用数组实现队列
2012/02/05 PHP
prototype 中文参数乱码解决方案
2009/11/09 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
在jquery中combobox多选的不兼容问题总结
2013/12/24 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
vue 中url 链接左边的小图标更改问题
2019/12/30 Javascript
vue实现计算器功能
2020/02/22 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
Python是编译运行的验证方法
2015/01/30 Python
python 文件操作删除某行的实例
2017/09/04 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python实现对变位词的判断方法
2020/04/05 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
幼儿教师个人求职信范文
2013/09/21 职场文书
数控技术专业毕业自荐书范文
2014/02/05 职场文书
预备党员公开承诺书
2014/05/28 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
高中体育课教学反思
2016/02/16 职场文书
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android