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.autocomplete 支持中文输入(firefox)修正方法
Mar 10 Javascript
加载 Javascript 最佳实践
Oct 30 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
Oct 22 Javascript
form.submit()不能提交表单的错误原因及解决方法
Oct 13 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 jQuery
使用async await 封装 axios的方法
Jul 09 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
Sep 20 Javascript
Layui数据表格之单元格编辑方式
Oct 26 Javascript
Javascript中的this,bind和that使用实例
Dec 05 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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
微信小程序 五星评分的实现实例
2017/08/04 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
探索Vue高阶组件的使用
2018/01/08 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
Python实现全角半角转换的方法
2014/08/18 Python
python选择排序算法实例总结
2015/07/01 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
Python concurrent.futures模块使用实例
2019/12/24 Python
python 实现简单的FTP程序
2019/12/27 Python
求职简历的自我评价
2014/01/31 职场文书
书法比赛获奖感言
2014/02/10 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
助学感谢信范文
2015/01/21 职场文书
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
基于Python实现股票收益率分析
2022/04/02 Python