1, 運算式:
最簡單的運算式:直接量或者變數名。var a =1;
直接量運算式的值:本身。
Variant 運算式的值:該變數所存放或引用的值。
2 , 運算子:
一元運算子: 比如 - 3
二元運算子: 比如 3+4
三元運算子: 比如 ? :
新手常遇到的問題:
遞增運算子:
比如:
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 ; 值相同, 類型不同
4, 比較子:
要注意的就是字串是進行琢個比較。
而且會區分大小寫。
如果你的需求是不區分大小寫:
可以使用 String.toLowerCase() //純小寫
String.toUpperCase() //純大寫 轉換後 ,然後再去比較.
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
7, 3元條件運算子:
要注意的是:第一個運算數必須是一個布爾值。
X > 0 ? 3 : 2 ;