欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript中的取反再取反~~沒有意義

 更新時間:2014年04月06日 17:03:20   作者:  
操作符~, 是按位取反的意思,表面上~~(取反再取反)沒有意義,下面有個不錯的示例,大家可以參考下

操作符~, 是按位取反的意思,表面上~~(取反再取反)沒有意義,實際上在JS中可以將浮點數(shù)變成整數(shù)。

復制代碼 代碼如下:

<html>
<script>
var myArray = new Array();
myArray.push("a");
myArray.push("b");
myArray.push("c");
myArray.push("d");

//現(xiàn)在要隨機從數(shù)組中取出一個元素
var random = myArray[~~(Math.random()*myArray.length)]; //Math.random()返回0和1之間的偽隨機數(shù),可能為0,但總是小于1,[0,1)

var i = 7.94;
i = ~~i;
alert(i);

var j = 7.34;
j = ~~j;
alert(j);

</script>

</html>

如上,如果沒有~~,那么隨機得到的是小數(shù),而且是將小數(shù)的小數(shù)部分去掉,保留整數(shù)。如上面i=7,j=7。然而在C中并不存在這種機制,C中對一個浮點數(shù)(float)是不能按位取反的,而且C中可以用強制類型轉換(而JS中則沒有這種機制,浮點數(shù)轉整數(shù))達到同樣的目的(舍棄小數(shù)部分,保留整數(shù)部分)。

相關文章

最新評論