溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

js運算符的一些特殊用法

發(fā)布時間:2020-08-20 06:49:28 來源:腳本之家 閱讀:174 作者:小文 欄目:web開發(fā)

本文集合了了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

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI