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函数使用技巧之 setTimeout(function(){},0)
Feb 09 Javascript
JQuery下的Live方法和$.browser方法使用代码
Jun 02 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
Jun 18 Javascript
node.js使用nodemailer发送邮件实例
Mar 10 Javascript
jquery实现树形菜单完整代码
Dec 29 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
Aug 01 Javascript
AngularJS 单元测试(一)详解
Sep 21 Javascript
前端设计师们最常用的JS代码汇总
Sep 25 Javascript
JS实现图片预加载之无序预加载功能代码
May 12 Javascript
微信小程序实现多个按钮toggle功能的实例
Jun 13 Javascript
微信小程序制作扭蛋机代码实例
Sep 24 Javascript
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
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
mysql5写入和读出乱码解决
2006/11/25 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
浅谈php的优缺点
2015/07/14 PHP
初学Javascript的一些总结
2008/11/03 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
微信小程序自定义导航栏
2018/12/31 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
python利用hook技术破解https的实例代码
2013/03/25 Python
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
django框架如何集成celery进行开发
2017/05/24 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
super关键字的用法
2012/04/10 面试题
《狐假虎威》教学反思
2014/02/07 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android
Python Matplotlib绘制动画的代码详解
2022/05/30 Python