JScript 的運算符
JScript 具有全范圍的運算符,包括算術、邏輯、位、賦值以及其他某些運算符。
計算 邏輯 位運算 賦值 雜項
描述 符號 描述 符號 描述 符號 描述 符號 描述 符號
負值 - 邏輯非 ! 按位取反 ~ 賦值 = 刪除 delete
遞增 ++ 小于 < 按位左移 << 運算賦值 oP= typeof 運算符 typeof
遞減 -- 大于 > 按位右移 >> void void
乘法 * 小于等于 <= 無符號右移 >>> instanceof instanceof
除法 / 大于等于 >= 按位與 & new new
取模運算 % 等于 == 按位異或 ^ in in
加法 + 不等于 != 按位或 |
減法 - 邏輯與 &&
邏輯或 ||
條件(三元運算符) ?:
逗號 ,
嚴格相等 ===
非嚴格相等 !==
== (相等)與 === (嚴格相等)的區(qū)別在于恒等運算符在比較前強制轉換不同類型的值。例如,恒等對字符串 "1" 與數(shù)值 1 的比較結果將為 true。而嚴格相等不強制轉換不同類型的值,因此它認為字符串 "1" 與數(shù)值 1 不相同。
基本的字符串、數(shù)值和布爾值是按值比較的。如果它們的值相同,比較結果為相等。對象(包括Array、Function、String、Number、Boolean、Error、Date以及 RegExp 對象)按引用比較。即使這些類型的兩個變量具有相同的值,只有在它們正好為同一對象時比較結果才為 true。
例如:
// 具有相同值的兩個基本字符串。
var string1 = "Hello";
var string2 = "Hello";
// 具有相同值的兩個 String 對象。
var StringObject1 = new String(string1);
var StringObject2 = new String(string2);
// 比較結果為 true。
if (string1 == string2)
// 執(zhí)行某些命令(將要運行的)。
// 比較結果為 false。
if (StringObject1 == StringObject2)
//執(zhí)行某些命令(不會運行)。
// 要比較 String 對象的值,
// 用 toString() 或者 valueOf() 方法。
if (StringObject1.valueOf() == StringObject2)
//執(zhí)行某些命令(將要運行的)。
更多信息請查看IT技術專欄