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 相关文章推荐
firefox下input type=&quot;file&quot;的size是多大
Oct 24 Javascript
利用cookie记住背景颜色示例代码
Nov 04 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 Javascript
javascript 通用loading动画效果实例代码
Jan 14 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
Feb 26 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
jquery插件uploadify实现带进度条的文件批量上传
Dec 13 Javascript
基于JavaScript实现TAB标签效果
Jan 12 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
May 16 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
May 30 Javascript
详解基于electron制作一个node压缩图片的桌面应用
Jan 29 Javascript
JavaScript实现跟随鼠标移动的盒子
Jan 28 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中global和$GLOBALS[]的分析之一
2012/02/02 PHP
php实现计数器方法小结
2015/01/05 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
PHP微信发送推送消息乱码的解决方法
2019/02/28 PHP
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
Wireshark基本介绍和学习TCP三次握手
2016/08/15 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
python 中的列表解析和生成表达式
2011/03/10 Python
python判断端口是否打开的实现代码
2013/02/10 Python
python内存动态分配过程详解
2019/07/15 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
python 制作磁力搜索工具
2021/03/04 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
万年牢教学反思
2014/02/15 职场文书
学生操行评语大全
2014/04/24 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
师德先进个人事迹材料
2014/12/19 职场文书
在职证明范本
2015/06/15 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书