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中的事件
Sep 23 Javascript
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
Jan 30 Javascript
为原生js Array增加each方法
Apr 07 Javascript
js控制的回到页面顶端goTop的代码实现
Mar 20 Javascript
JavaScript使用function定义对象并调用的方法
Mar 23 Javascript
JavaScript获得指定对象大小的方法
Jul 01 Javascript
JavaScript自定义分页样式
Jan 17 Javascript
基于JavaScript中标识符的命名规则介绍
Jan 06 Javascript
vue iview组件表格 render函数的使用方法详解
Mar 15 Javascript
JS获取指定月份的天数两种实现方法
Jun 22 Javascript
VUE实现强制渲染,强制更新
Oct 29 Javascript
微信小程序纯文本实现@功能
Apr 08 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实现的MySQL通用查询程序
2007/03/11 PHP
最常用的8款PHP调试工具
2014/07/06 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
php实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
php格式化电话号码的方法
2015/04/24 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
深入理解jQuery()方法的构建原理
2016/12/05 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
工程专业毕业生自荐信范文
2013/12/25 职场文书
学生会个人自荐书范文
2014/02/12 职场文书
大学生学习计划书
2014/09/15 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
单位工作证明书格式
2014/10/04 职场文书
2015年公司工作总结
2015/04/25 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
安娜卡列尼娜观后感
2015/06/11 职场文书
CocosCreator如何实现划过的位置显示纹理
2021/04/14 Javascript