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ù)部分)。

相關文章
Highslide.js是一款基于js實現(xiàn)的網(wǎng)頁中圖片展示插件
這篇文章主要介紹了Highslide.js是一款基于js實現(xiàn)的網(wǎng)頁中圖片預覽查看工具,需要的朋友可以參考下2007-05-05swiper.js插件實現(xiàn)pc端文本上下滑動功能示例
這篇文章主要介紹了swiper.js插件實現(xiàn)pc端文本上下滑動功能,結合實例形式分析了swiper.js插件的具體引用與相關使用技巧,需要的朋友可以參考下2018-12-12JS庫particles.js創(chuàng)建超炫背景粒子插件(附源碼下載)
particles.js用于創(chuàng)建粒子的輕量級 JavaScript 庫。使用方法非常簡單,代碼也很容易實現(xiàn),下面通過本文給大家分享JS庫particles.js創(chuàng)建超炫背景粒子插件附源碼下載,需要的朋友參考下吧2017-09-09