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 相关文章推荐
基于JQuery的访问WebService的代码(可访问Java[Xfire])
Nov 19 Javascript
jQuery 开发者应该注意的9个错误
May 03 Javascript
JQUERY dialog的用法详细解析
Dec 19 Javascript
JS时间特效最常用的三款
Aug 19 Javascript
JS实现支持多选的遍历下拉列表代码
Aug 20 Javascript
浅谈JavaScript变量的自动转换和语句
Jun 12 Javascript
jQuery实现对象转为url参数的方法
Jan 11 Javascript
jsTree事件和交互以及插件plugins详解
Aug 29 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
Jun 30 Javascript
vue中各选项及钩子函数执行顺序详解
Aug 25 Javascript
JS拖拽排序插件Sortable.js用法实例分析
Feb 20 Javascript
js实现鼠标拖拽div左右滑动
Jan 15 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函数解决SQL injection
2006/10/09 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
YII动态模型(动态表名)支持分析
2016/03/29 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
使用weixin-java-miniapp配置进行单个小程序的配置详解
2019/03/29 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
python中的数据结构比较
2019/05/13 Python
python之信息加密题目详解
2019/06/26 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
Python 迭代,for...in遍历,迭代原理与应用示例
2019/10/12 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
寒假思想汇报
2014/01/10 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
我的教育故事演讲稿
2014/05/04 职场文书
投资建议书模板
2014/05/12 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL