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 request函数 用来获取url参数
May 17 Javascript
JS OffsetParent属性深入解析
Jan 13 Javascript
jquery实现倒计时代码分享
Jun 13 Javascript
给应用部分的js代码设定一个统一的入口
Jun 15 Javascript
javascript中Math.random()使用详解
Apr 15 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
May 20 Javascript
微信小程序 数据访问实例详解
Oct 08 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
May 13 Javascript
利用Vue构造器创建Form组件的通用解决方法
Dec 03 Javascript
解决vue跨域axios异步通信问题
Apr 17 Javascript
微信小程序request请求封装,验签代码实例
Dec 04 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
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
javascript 主动派发事件总结
2011/08/09 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
通过原生vue添加滚动加载更多功能
2019/11/21 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
跟老齐学Python之不要红头文件(2)
2014/09/28 Python
详解Python中find()方法的使用
2015/05/18 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
对python中return和print的一些理解
2017/08/18 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
python assert的用处示例详解
2019/04/01 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
python实现从ftp服务器下载文件
2020/03/03 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
旅游管理本科生求职信
2013/10/14 职场文书
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
vue3获取当前路由地址
2022/02/18 Vue.js