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变量作用域更轻松
Oct 25 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
超级简单的jquery操作表格方法
Dec 15 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
js树插件zTree获取所有选中节点数据的方法
Jan 28 Javascript
js实现上传图片预览的方法
Feb 09 Javascript
JavaScript中的普通函数与构造函数比较
Apr 07 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
May 02 Javascript
微信小程序开发图片拖拽实例详解
May 05 Javascript
vue穿梭框实现上下移动
Jan 29 Vue.js
Vue基本指令实例图文讲解
Feb 25 Vue.js
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
一个简易需要注册的留言版程序
2006/10/09 PHP
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
PHP实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
理理Vue细节(推荐)
2019/04/16 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019/05/21 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
Python判断某个用户对某个文件的权限
2016/10/13 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
Python 发送邮件方法总结
2020/08/10 Python
PyQt QMainWindow的使用示例
2021/03/24 Python
中学教师管理制度
2014/01/14 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
生产助理岗位职责
2014/06/18 职场文书
住房抵押登记委托书
2014/09/27 职场文书
商铺门面租房协议书
2014/10/21 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
职场中的你,辞职信写对了吗?
2019/06/26 职场文书
Django使用channels + websocket打造在线聊天室
2021/05/20 Python
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers