js不常見的運算子用法 ( )

2021-09-11 10:29:50 字數 1819 閱讀 8386

一.大於(>)

如果只有乙個運算元是數值字串,另乙個數數值則轉換成數值後再進行比較

eg:var box = '3' > 22; //false

如果兩個運算元都是數值字串,則只會比較字串的第乙個數

eg:

var box = '3' > '22'; //true
如果兩個運算元都是字串,則比較字元的編碼

eg:

var box = 'a' > 'b'; //true
二.等於==

不需要任何轉換的情況下,null 和 undefined 是相等的;

3.與運算(&&)

如果兩邊的運算元有乙個運算元不是布林值的情況下,與運算就不一定返回布林值,此

時,遵循已下規則:

1.第乙個運算元是物件,則返回第二個運算元;

eg:

var box = {}  && 5              //5

2.第二個運算元是物件,則第乙個運算元返回 true,才返回第二個運算元,否則返回 false;

eg :

var box = (5>4) && {}   // [object object]

var box = (2>4) && {}   // false (當第乙個是false的時候都不會對第二個進行運算直接就返回第乙個的值了)

3.有乙個運算元是 null,則返回 null(注意當地乙個運算元不是null且值為false時返回的是false);

eg:

var box = (5 > 4) && null; //null

var box = (3 > 4) && null; //false

var box = null && (5 > 4) ; //null

var box = null && (3 > 4) ; //null

4.有乙個運算元是 undefined,則返回 undefined。

undefined && 1

undefined

1 && undefined

undefined

0 && undefined

0

邏輯與運算子屬於短路操作,顧名思義,如果第乙個運算元返回是 false,第二個數不

管是 true 還是 false 都返回的 false。

三.或運算子(||)

​​​​​​​如果兩邊的運算元有乙個運算元不是布林值的情況下,邏輯與運算就不一定返回布林

值,此時,遵循已下規則:

1.第乙個運算元是物件,則返回第乙個運算元;

var box=  || (5 > 3); //20

2.第乙個運算元的求值結果為 false,則返回第二個運算元;

var box = (4>5) || 5 //5

3.兩個運算元都是物件,則返回第乙個運算元;

var box=  || tostring:function(){

return 5 //20

4.兩個運算元都是 null,則返回 null;

5.兩個運算元都是 nan,則返回 nan;

6.兩個運算元都是 undefined,則返回 undefined

和邏輯與運算子相似,邏輯或運算子也是短路操作。當第一運算元的求值結果為 true,

就不會對第二個運算元求值了。

不常用的運算子

x y返回x的y次冪 2 3 8 取整除,返回商的整數部分 8.2 3 2.0 不等於號,等價於 2 2false 計算機中能表示的最小單位,是乙個二進位制位 計算機中能儲存的最小單位,是乙個二進位制位 bit 8bit byte 位元組 1024byte 1kbyte 1024kbyte 1mby...

JS逗號運算子的用法詳解

一 逗號運算子的特性及作用 逗號運算子的作用是將若干表示式連線起來。它的優先級別在所有運算子中是最低的,結合方向是 自左至右 的。即 逗號運算子 是按順序執行表示式,並且獲得右邊表示式的值。如 3 3,4 4 16 二 逗號表示式 逗號表示式的一般形式是 表示式1,表示式2,表示式3 表示式n 逗號...

JS易忽略的運算子用法

1.取餘 取模 console.log 5 2 1 2.浮點數的精度問題 console.log 0.1 0.2 3.不能直接拿浮點數進行相比較是否相等 var num 0.1 0.2 console.log num 0.3 false 4.遞增運算子 前置遞增運算子 先自加1 再返回值 var a...