1. 程式人生 > >js中得~~是什麼意思/JS按位非(~)運算子與~~運算子的理解分析

js中得~~是什麼意思/JS按位非(~)運算子與~~運算子的理解分析

首先,如果一個數據在嘗試轉換為32整形資料時,結果<0,那麼就需要對其上舍入,比如-2.9->-2,如果>0,對其下舍入,比如:2.6->2; 
一個數據如果不能轉換為32位二進位制表示,就轉換為NaN;繼而轉為-1;比如~{}/~NaN ==-1; 
又比如~function(){return 100;}->-1; 
在Jquery裡面,有用到比如if(!~this.className.indexOf(str)){ //do some thing…..};這裡,對於this.className.indexOf(str)的返回值,要麼大於-1,要麼就是等於-1;在其等於-1的時候,~-1===0;然後,!~-1===true;那麼就可以得出this不包含str這個class名…; 

對於~~運算子,同理,它也可以表示為: