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 相关文章推荐
两个DIV等高的JS的实现代码
Dec 23 Javascript
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
javascript计算星座属相(十二生肖属相)示例代码
Jan 09 Javascript
js左右弹性滚动对联广告代码分享
Feb 19 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
Aug 31 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
Sep 05 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 Javascript
vue自定v-model实现表单数据双向绑定问题
Sep 03 Javascript
vue-quill-editor富文本编辑器简单使用方法
Sep 21 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
微信小程序之onLaunch与onload异步问题详解
Mar 28 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
Jul 19 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 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
简单JS代码压缩器
2006/10/12 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
详解10分钟学会vue滚动行为
2017/09/21 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
2020/02/07 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
python实现两个文件合并功能
2018/04/01 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
Python列表list操作相关知识小结
2020/01/29 Python
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
网络工程师个人的自我评价范文
2013/10/01 职场文书
生产内勤岗位职责
2013/12/07 职场文书
求职自荐信怎么写
2014/03/06 职场文书
公司开业庆典主持词
2014/03/21 职场文书
师范生自荐信模板
2014/05/28 职场文书
大学生心理活动总结
2014/07/04 职场文书
教师学期个人总结
2015/02/11 职场文书
社区服务活动感想
2015/08/11 职场文书
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript