JScript 具有全范圍的運算符,包括算術、邏輯、位、賦值以及其他某些運算符。
== (相等)與 === (嚴格相等)的區別在于恒等運算符在比較前強制轉換不同類型的值。例如,恒等對字符串 "1" 與數值 1 的比較結果將為 true。而嚴格相等不強制轉換不同類型的值,因此它認為字符串 "1" 與數值 1 不相同。
基本的字符串、數值和布爾值是按值比較的。假如它們的值相同,比較結果為相等。對象(包括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)//執行某些命令(將要運行的)。//比較結果為false。if (StringObject1 == StringObject2)//執行某些命令(不會運行)。//要比較String對象的值,//用toString()或者valueOf()方法。if (StringObject1.valueOf() == StringObject2)//執行某些命令(將要運行的)。
新聞熱點
疑難解答