国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

JavaScript按位非操作符(~)
伊謝爾倫
伊謝爾倫 2017-06-28 09:29:08
0
1
1122

看到<TFC2017/>的抽獎代碼

~~23.5 // 23

為什么~操作符可以將數(shù)字取整呢?

伊謝爾倫
伊謝爾倫

小伙看你根骨奇佳,潛力無限,來學PHP伐。

全部回復(1)
伊謝爾倫

經(jīng)過 ToInt32。其作用是將被操作數(shù)的二進制形式按位翻轉(zhuǎn)。所以兩個 ~~ 連在一起就相當于進行了如下操作:

  1. 對操作數(shù)進行 ToInt32

  2. 按位翻轉(zhuǎn)

  3. 再次按位翻轉(zhuǎn)實際上也還是利用了 ToInt32 的絕對值取整

另外關(guān)于 ~ 操作符有個技巧還是比較實用的:~(-1) 的值為 0,而且 -1 是唯一一個經(jīng)過 ~ 運算返回假值的值(包括其他那些特殊的值比如 NaN、{}、[] 等都不會返回假值)字符串和數(shù)組的 indexOf 函數(shù)查找失敗會返回 -1,這時候就可以用 if(~str.indexOf('str')) // 來表示找到了
比判斷 >= 0 或者 != -1 更優(yōu)雅,跟用 !! 來判斷非假值有異曲同工之妙

作者:mdluo
鏈接:https://www.zhihu.com/questio...

取整是把浮點數(shù)轉(zhuǎn)化了32位二進制整數(shù),所以能還原狀態(tài)的位操作都能進行取整,如23.5 >> 0 //23、23.5 >> 0 //23

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板