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 相关文章推荐
tagName的使用,留一笔
Jun 26 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
编程语言JavaScript简介
Oct 16 Javascript
Angular路由简单学习
Dec 26 Javascript
微信小程序-拍照或选择图片并上传文件
Jan 06 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
深入理解Angular4订阅(Subscribe)与取消
Nov 22 Javascript
Webpack框架核心概念(知识点整理)
Dec 22 Javascript
JS实现select选中option触发事件操作示例
Jul 13 Javascript
微信小程序中上传图片并进行压缩的实现代码
Aug 28 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
Nov 14 Javascript
Electron 调用命令行(cmd)
Sep 23 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调用三种数据库的方法(1)
2006/10/09 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
php实现每日签到功能
2018/11/29 PHP
jquery 插件开发方法小结
2009/10/23 Javascript
javascript调试说明
2010/06/07 Javascript
javascript中clone对象详解
2014/12/03 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
js canvas仿支付宝芝麻信用分仪表盘
2016/11/16 Javascript
js绑定事件和解绑事件
2017/04/27 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
js数组的基本使用总结
2021/01/18 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
Python高级用法总结
2018/05/26 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
Python阶乘求和的代码详解
2020/02/14 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
Python Http请求json解析库用法解析
2020/11/28 Python
StubHub德国:购买和出售门票
2017/09/06 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
火车的故事教学反思
2014/02/11 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
民间个人借款协议书
2014/09/30 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
工作感想范文
2015/08/07 职场文书
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js