首頁 > web前端 > js教程 > javascript中的取反再取反~~沒有意義_javascript技巧

javascript中的取反再取反~~沒有意義_javascript技巧

WBOY
發布: 2016-05-16 16:53:15
原創
1304 人瀏覽過

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

複製程式碼 程式碼如下:






<script><script> var myArray = new Array(); <BR>myArray.push("a"); <br>myArray.push("b"); <br>myArray.push("c"); <BR>myArray.push ("d"); <br><br>//現在要隨機從陣列中取出一個元素<BR>var random = myArray[~~(Math.random()*myArray.length)]; //Math. random()傳回0和1之間的偽隨機數,可能為0,但總是小於1,[0,1) <BR><br>var i = 7.94; <br>i = ~~i; <BR>alert(i); <BR><br>var j = 7.34; <br>j = ~~j; <br>alert(j); <br><BR></script>


javascript中的取反再取反~~沒有意義_javascript技巧 如上,如果沒有~~,那麼隨機得到的是小數,而且是將小數的小數部分去掉,保留整數。如上面i=7,j=7。然而在C中並不存在這種機制,C中對一個浮點數(float)是不能按位取反的,而且C中可以用強制型別轉換(而JS中則沒有這種機制,浮點數轉整數)達到同樣的目的(捨棄小數部分,保留整數部分)。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板