javascript中的取反再取反~~没有意义_Javascript教程-查字典教程网
javascript中的取反再取反~~没有意义
javascript中的取反再取反~~没有意义
发布时间:2017-01-14 来源:查字典编辑
摘要:操作符~,是按位取反的意思,表面上~~(取反再取反)没有意义,实际上在JS中可以将浮点数变成整数。复制代码代码如下:varmyArray=n...

操作符~, 是按位取反的意思,表面上~~(取反再取反)没有意义,实际上在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教程学习
    编程开发子分类