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实现的动态文字变换
Jul 28 Javascript
客户端 使用XML DOM加载json数据的方法
Sep 28 Javascript
jquery text(),val(),html()方法区别总结
Nov 04 Javascript
使用js画图之圆、弧、扇形
Jan 12 Javascript
详解JavaScript的策略模式编程
Jun 24 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
Sep 11 Javascript
基于jquery实现最简单的选项卡切换效果
May 08 Javascript
vue指令以及dom操作详解
Mar 04 Javascript
vue2.0项目集成Cesium的实现方法
Jul 30 Javascript
JS正则表达式验证端口范围(0-65535)
Jan 06 Javascript
详解node和ES6的模块导出与导入
Feb 19 Javascript
Vue 的 v-model用法实例
Nov 23 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
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
JavaScript 面向对象之命名空间
2010/05/04 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
js禁止表单重复提交
2017/08/29 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python实现读取命令行参数的方法
2015/05/22 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
python装饰器常见使用方法分析
2019/06/26 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
2019/09/06 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
英国著名的药妆网站:Escentual
2016/07/29 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
文明餐桌行动实施方案
2014/02/19 职场文书
出纳员的岗位职责
2014/02/22 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
搞笑的获奖感言
2014/08/16 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
六年级学生期末评语
2014/12/26 职场文书