js運算子的一些特殊應用

2022-02-28 19:04:44 字數 2067 閱讀 8457

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