一.大於(>)
如果只有乙個運算元是數值字串,另乙個數數值則轉換成數值後再進行比較
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...