新手常遇到的問題: 遞增運算符: 比如: i = 1 ; j = ++ i ; // 前遞增運算,即先對運算數進行遞增,然后再去計算。 //輸出 i =2; j=2 ;
i = 1 ; j = i ++; // 后遞增運算,即先去計算,然后再對運算數進行遞增。 //輸出 i =2; j=1 ;
3, 相等運算符: = : 賦值運算符; == : 相等運算符; === : 等同運算符; 值NaN永遠不會與任何值相等,包括自己。 alert(NaN == NaN); //false NaN 意思為 Not a Number 要檢測一個值是否是NaN,可以使用全局函數isNaN();
另外新手要注意: var a =[1,2,3]; var b =[1,2,3]; document.write(a==b); // 輸出false .(這個其實是 第一章講的內容。) // 雖然值相同,類型相同,但址不同。 -------------------------------------------------------- var a =[1,2,3]; var b = a ; var c = a ; document.write(b===c);//輸出true; -------------------------------------------------------- var a = "1"; var b = true ; document.write(a==b); //輸出 true document.write(a===b); //輸出 false ; 值相同, 類型不同
5, in 運算符: 要注意的是:左邊的值是其右邊對象的屬性。 比如: var a = { x : 1 , y : 2 }; var b = “x” in a ; // true var c = “toString” in a ; // true . 左邊的值是其右邊對象的屬性。
6 instanceof 運算符: 要注意的是:左邊的運算數是一個對象,右邊的運算數是對象類的名字。 比如: var a = new Date() a instanceof Date; // true a instanceof Object ; // true a instanceof Number ; // false