js運算符的一些特殊用法
本文集合了了js運算符的一些特殊應(yīng)用。
js位運行符的運用。
js運算符的使用技巧。
是否包含指定字符: ~
~"str1".indexOf("str2")
str1 被查找的字符串
str2 查找的字符串
如果 str1 不含有 str2 ,則返回數(shù)字 0 。
例:
var str1='abc'; var str2='a'; if(~str1.indexOf(str2)){ console.log('有'+str2) //有a }else{ console.log('無'+str2) }
取整: |
num | 0
num 整數(shù)
例:
1.3 | 0 //1
取半: >>
num >> 1
num 整數(shù)
例:求 50 的 1/2
50 >> 1 //25
有除號 / 干嘛不用呢?多好呀: 50/2 //25
成長值評級: ||
需求1:
成長值為5是1星;
成長值為10是2星;
成長值為12是3星;
成長值為15是4星;
其他都是0星。
({'5':1,'10':2,'12':3,'15':4}[val] || 0);
val 成長值。
判斷奇偶: &
num & 1
num 整數(shù)
例:
var num=3; if (num & 1) { console.log("num是奇數(shù)"); //num是奇數(shù) } else { console.log("num是偶數(shù)"); }
交換兩個數(shù)字的值: ^=
使用位運行符:
var num1 = 1, num2 = 2; num1 ^= num2; num2 ^= num1; num1 ^= num2; console.log(num1,num2); //2 1
使用數(shù)組:
var num1 = 1, num2 = 2; num1 = [num2, num2 = num1][0]; console.log(num1,num2); //2 1
2的n次方: << 和 **
1 << n-1
使用位運行符:
2的n次方
例:2的3次方:1<<3 //8
使用冪運行符:
個人覺得這個不如直接使用 冪 的方式好。
x的y次方: x**y
例:2的3次方:2**3 //8
方法比較:
使用 << 的方式可以支持負數(shù),** 需要用括號否則出錯。
使用 ** 比較直觀,沒研究過 << 方法的任意數(shù)的任意次方的規(guī)律。
1<<3 //8 2**3 //8 -1<<3 //-8 -2**3 // 報錯 -(2**3) //-8 3<<2 //12 錯誤 3**2 //9 正確
是否是指定字符串開頭: ! 和 ^
!str1.indexOf("str2")
例:
var str1='abc'; var str2='a'; if(!str1.indexOf(str2)){ console.log('是開頭') }else{ console.log('不是開頭') }
使用正則方式
/^a/.test('abc') //a開頭,true /c$/.test('abc') //c結(jié)尾,true
字符串轉(zhuǎn)數(shù)字: +
+str
例:
var str='123'; typeof(str) //string typeof(+str) //number
轉(zhuǎn)為 Boolean 值: !!
!!obj
例:
!!'text' //true
相關(guān)文章
微信小程序ajax實現(xiàn)請求服務(wù)器數(shù)據(jù)及模版遍歷數(shù)據(jù)功能示例
這篇文章主要介紹了微信小程序ajax實現(xiàn)請求服務(wù)器數(shù)據(jù)及模版遍歷數(shù)據(jù)功能,結(jié)合實例形式分析了微信小程序ajax調(diào)用及模板wx:for循環(huán)列表渲染相關(guān)操作技巧,需要的朋友可以參考下2017-12-12詳解Webpack如何引入CDN鏈接來優(yōu)化編譯后的體積
這篇文章主要介紹了詳解Webpack如何引入CDN鏈接來優(yōu)化編譯后的體積,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06Bootbox將后臺JSON數(shù)據(jù)填充Form表單的實例代碼
通過控制器創(chuàng)建一個Index視圖,寫入下列HTML代碼,這里我創(chuàng)建了一個分部視圖,不創(chuàng)建直接寫在同一個頁面也是一樣的效果。這篇文章主要介紹了Bootbox將后臺JSON數(shù)據(jù)填充Form表單 ,需要的朋友可以參考下2018-09-09Javascript實現(xiàn)網(wǎng)絡(luò)監(jiān)測的方法
這篇文章主要介紹了Javascript實現(xiàn)網(wǎng)絡(luò)監(jiān)測的方法,可實現(xiàn)檢測網(wǎng)絡(luò)連接及網(wǎng)速的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07原生javascript實現(xiàn)簡單的datagrid數(shù)據(jù)表格
這篇文章主要介紹了原生javascript實現(xiàn)簡單的datagrid數(shù)據(jù)表格的方法,效果十分棒,需要的朋友可以參考下2015-01-01無循環(huán) JavaScript(map、reduce、filter和find)
本文由淺入深地介紹了map、reduce、filter和find函數(shù),如何一步一步把循環(huán)從代碼中抽離掉2017-04-04