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监测ActiveX控件是否已经安装过的代码
Sep 02 Javascript
&amp;lt;script defer&amp;gt; defer 是什么意思
May 10 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
Oct 24 Javascript
node.js中的buffer.length方法使用说明
Dec 14 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
Mar 11 Javascript
温习Javascript基础语法之词法结构
May 31 Javascript
获取select的value、text值的简单示例(jquery与javascript)
Dec 07 Javascript
javascript 跨域问题以及解决办法
Jul 17 Javascript
前端跨域的几种解决方式总结(推荐)
Aug 16 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
Nov 06 Javascript
Node.Js生成比特币地址代码解析
Apr 21 Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 21 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的FTP学习(一)
2006/10/09 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
浅谈laravel orm 中的一对多关系 hasMany
2019/10/21 PHP
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
浅谈js中的bind
2019/03/18 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
Python+django实现文件下载
2016/01/17 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
python绘制条形图方法代码详解
2017/12/19 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
应届实习生的自我评价范文
2014/01/05 职场文书
个人近期表现材料
2014/02/11 职场文书
投标邀请书范本
2015/02/02 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
Linux系统下安装PHP7.3版本
2021/06/26 PHP
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
python微信智能AI机器人实现多种支付方式
2022/04/12 Python