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
方法比較:
使用 << 的方式可以支持負(fù)數(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)文章
深度剖析JavaScript作用域從局部到全局一網(wǎng)打盡
這篇文章主要為大家介紹了JavaScript作用域的深度剖析,從局部到全局一網(wǎng)打盡,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
uniapp uni-swipe-action 滑動操作狀態(tài)恢復(fù)功能實現(xiàn)
按照uni-app官方文檔的寫法,當(dāng)前一條滑動確認(rèn)之后頁面列表刷新但是滑動的狀態(tài)還在,我們需要在滑動確認(rèn)之后 頁面刷新 滑動狀態(tài)恢復(fù),下面小編給大家分享uniapp uni-swipe-action 滑動操作狀態(tài)恢復(fù)功能實現(xiàn),感興趣的朋友跟隨小編一起看看吧2024-06-06
當(dāng)$.get返回失敗后調(diào)用fail方法示例詳解
這篇文章主要介紹了當(dāng)$.get返回失敗后,調(diào)用fail方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-12-12
通過實例理解javascript中沒有函數(shù)重載的概念
這篇文章主要介紹了通過實例理解javascript中沒有函數(shù)重載的概念,十分的簡單易懂,需要的朋友可以參考下2015-06-06

