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 相关文章推荐
JavaScript中出现乱码的处理心得
Dec 24 Javascript
jQuery UI 应用不同Theme的办法
Sep 12 Javascript
原生javascript实现无间缝滚动示例
Jan 28 Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
详解Javascript中DOM的范围
Feb 13 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
关于Stream和Buffer的相互转换详解
Jul 26 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 Javascript
JS中的事件委托实例浅析
Mar 22 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 Javascript
Vue解析带html标签的字符串为dom的实例
Nov 13 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中获取主机名、协议及IP地址的方法
2014/11/18 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
JS实现li标签的删除
2019/04/12 Javascript
vue router导航守卫(router.beforeEach())的使用详解
2019/04/19 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
详解Django配置优化方法
2019/11/18 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
Python timeit模块原理及使用方法
2020/10/10 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
总经理的岗位职责
2014/02/23 职场文书
黄金酒广告词
2014/03/21 职场文书
平面设计师岗位职责
2014/09/18 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
关于颐和园的导游词
2015/01/30 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
如何用H5实现好玩的2048小游戏
2022/07/23 HTML / CSS