本文集合了了js運算子的一些特殊應用。
js位執行符的運用。
js運算子的使用技巧。
~"str1".indexof("str2")
str1 被查詢的字串
str2 查詢的字串
如果 str1 不含有 str2 ,則返回數字 0 。
例:
var str1='abc';
var str2='a';
if(~str1.indexof(str2))else
num | 0
num 整數
例:
1.3 | 0 //1
num >> 1
num 整數
例:求 50 的 1/2
50 >> 1 //25
有除號/
幹嘛不用呢?多好呀:50/2 //25
需求1:
成長值為5是1星;
成長值為10是2星;
成長值為12是3星;
成長值為15是4星;
其他都是0星。
([val] || 0);
val 成長值。
num & 1
num 整數
例:
var num=3;
if (num & 1) else
使用位執行符:
var num1 = 1, num2 = 2;
num1 ^= num2;
num2 ^= num1;
num1 ^= num2;
console.log(num1,num2); //2 1
使用陣列:
var num1 = 1, num2 = 2;
num1 = [num2, num2 = num1][0];
console.log(num1,num2); //2 1
1 << n-1
使用位執行符:
2的n次方
例:2的3次方:1<<3 //8
使用冪執行符:
個人覺得這個不如直接使用冪的方式好。
x的y次方:x**y
例:2的3次方:2**3 //8
方法比較:
使用<<
的方式可以支援負數,**
需要用括號否則出錯。
使用**
比較直觀,沒研究過<<
方法的任意數的任意次方的規律。
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))else
使用正則方式
/^a/.test('abc') //a開頭,true
/c$/.test('abc') //c結尾,true
+str
例:
var str='123';
typeof(str) //string
typeof(+str) //number
!!obj
例:
!!'text' //true
一些特殊運算子的理解
1 in eg x in o 檢測o物件是否擁有x屬性 in 運算子 in的左側是字串或者可以轉為字串 右側是物件 可以檢測繼承的屬性 注意的是對陣列檢測的是下標值 2 instanceof 左側是物件,右側是標識物件的類即建構函式 如果左側不是物件則返回false,右側不是函式則丟擲乙個型別錯誤異...
js的一些運算子知識
一.算數運算子 只要 兩邊有任何一邊是字串的時候,那麼就進行字串的鏈結 算數運算子有哪些呢?符號的用法 作為字首的時候先自增 自減在使用 作為字尾的時候先使用在自增 自減 優先順序 先 再 如果想提公升優先順序 使用 四捨五入解決誤差的方法 tofixed n n表示保留幾位小數 例如 var ch...
一些運算子
int a 3 int b a 先把a的值賦給b,a再自增 int c a a先自增,再把值賦給c system.out.println a system.out.println b system.out.println c 結果輸出 535 冪運算,計算2 3 double pow math.po...