javascript中的取反再取反~~没有意义


Posted in Javascript onApril 06, 2014

操作符~, 是按位取反的意思,表面上~~(取反再取反)没有意义,实际上在JS中可以将浮点数变成整数。

<html> 
<script> 
var myArray = new Array(); 
myArray.push("a"); 
myArray.push("b"); 
myArray.push("c"); 
myArray.push("d"); //现在要随机从数组中取出一个元素 
var random = myArray[~~(Math.random()*myArray.length)]; //Math.random()返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 
var i = 7.94; 
i = ~~i; 
alert(i); 
var j = 7.34; 
j = ~~j; 
alert(j); 
</script> 
</html>

如上,如果没有~~,那么随机得到的是小数,而且是将小数的小数部分去掉,保留整数。如上面i=7,j=7。然而在C中并不存在这种机制,C中对一个浮点数(float)是不能按位取反的,而且C中可以用强制类型转换(而JS中则没有这种机制,浮点数转整数)达到同样的目的(舍弃小数部分,保留整数部分)。
javascript中的取反再取反~~没有意义
Javascript 相关文章推荐
用js实现控制内容的向上向下滚动效果
Jun 26 Javascript
jQuery 数据缓存data(name, value)详解及实现
Jan 04 Javascript
JS中处理与当前时间间隔的函数代码
May 23 Javascript
js日期相关函数总结分享
Oct 15 Javascript
我的Node.js学习之路(四)--单元测试
Jul 06 Javascript
js实现仿Windows风格选项卡和按钮效果实例
May 13 Javascript
js实现点击链接后延迟3秒再跳转的方法
Jun 05 Javascript
JS判断非空至少输入两个字符的简单实现方法
Jun 23 Javascript
React 使用browserHistory项目访问404问题解决
Jun 01 Javascript
微信小程序实现弹出菜单功能
Jun 12 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
May 22 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 Javascript
jQuery toggleClass应用实例(附效果图)
Apr 06 #Javascript
javascript数组操作总结和属性、方法介绍
Apr 05 #Javascript
JavaScript中的prototype和constructor简明总结
Apr 05 #Javascript
JavaScript中的typeof操作符用法实例
Apr 05 #Javascript
Javascript排序算法之计数排序的实例
Apr 05 #Javascript
JavaScript中的正则表达式简明总结
Apr 04 #Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
Apr 04 #Javascript
You might like
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
php UTF8 文件的签名问题
2009/10/30 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
python如何调用百度识图api
2020/09/29 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
刑事辩护授权委托书范本
2014/10/17 职场文书
2015年项目工作总结
2015/04/29 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书