Javascript雙重否定運算的具體使用
雙位 NOT(~~)
按位運算符 ~~ 表示否定:
~~something;
按位NOT運算符(~)將獲取其操作數(shù),將其轉(zhuǎn)換為 32 位整數(shù),并將反轉(zhuǎn)每個位,例如:
00000000000000000000000000001001 ...becomes 11111111111111111111111111110110
如果操作數(shù)是一個數(shù)字,并且它不是 NaN 或者 Infinity 那么~~具有將其四舍五入為零的效果(Math.ceil表示負數(shù),Math.floor表示正數(shù))。如果它不是數(shù)字,那么內(nèi)部函數(shù)會將其轉(zhuǎn)換為零。
以下是雙位 NOT 操作的一些示例:
~~null; // => 0
~~undefined; // => 0
~~0; // => 0
~~{}; // => 0
~~[]; // => 0
~~(1/0); // => 0
~~false; // => 0
~~true; // => 1
~~1.2543; // => 1
~~4.9; // => 4
~~(-2.999); // => -2~~的地板功能(flooring )使其成為更好的選擇,如果您知道自己正在處理正數(shù)——它速度更快,占用的字符更少。雖然它的可讀性不太好,但我希望它能慢慢成為 JS 領域非常知名的技術,這樣我們都可以使用它而不必擔心受到指責。Math.floor~~
這對于規(guī)范化您期望為整數(shù)的參數(shù)非常有用。以 MDC 建議提供給不支持的瀏覽器為例:
/*Array.prototype.indexOf = function...*/
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
/* 在去:~~ */
/*Array.prototype.indexOf = function...*/
var from = ~~arguments[1];到此這篇關于Javascript雙重否定運算的具體使用的文章就介紹到這了,更多相關Javascript雙重否定運算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript?中的?parseInt()?函數(shù)詳解
parseInt函數(shù)將其第一個參數(shù)轉(zhuǎn)換為一個字符串,對該字符串進行解析,然后返回一個整數(shù)或?NaN,這篇文章主要介紹了JavaScript?的?parseInt()?函數(shù),需要的朋友可以參考下2023-05-05
鼠標懸浮在樹組件節(jié)點上展示當前節(jié)點名稱的三種實現(xiàn)方式
這篇文章主要介紹了鼠標懸浮在樹組件節(jié)點上展示當前節(jié)點名稱的三種實現(xiàn)方式,第一種是使用css樣式設置,第二種在checkBox綁定,第三種使用tooltip,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2023-12-12
layui實現(xiàn)數(shù)據(jù)表格table分頁功能(ajax異步)
這篇文章主要為大家詳細介紹了layui實現(xiàn)數(shù)據(jù)表格table分頁功能、異步加載,表格渲染,含條件查詢,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07
javascript實現(xiàn)上傳圖片并預覽的效果實現(xiàn)代碼
圖片上傳預覽,就是在使用文件選擇框選擇了文件之后就可以在頁面上看見圖片的效果,關于這個效果我一直認為是無法做到的2011-04-04
js實現(xiàn)控制文件拖拽并獲取拖拽內(nèi)容功能
本片文章主要給大家分享了用JS寫出控制文件拖拽并獲取拖拽內(nèi)容功能實現(xiàn)過程,以及代碼分享,有興趣的一起學習下。2018-02-02
通過javascript進行UTF-8編碼的實現(xiàn)方法
下面小編就為大家?guī)硪黄ㄟ^javascript進行UTF-8編碼的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06

