Javascript中的運算符與C/C++中的運算符相似,但有幾處不同的地方,相對于C/C++,也增加了幾個不同的運算符,包括in,instanceof,typeof,delete. 需要熟悉一下.
in運算符要求左邊的運算數是一個字元串,或者可以被轉換為字元串,右邊的運算數是一個對象或數組.
如果運算符左邊的值是右邊對象的一個屬性名,傳回為true.
1

var point =
{x:1,y:1}
2
var has_x_coord = “x” in point; // true
3
var has_y_coord = “y” in point; // true
4
var has_z_coord = “z” in point; // false
5
var ts = “toString” in point; // 繼承自object屬性,true;
instance 運算符要求左邊的運算數是一個對象,右邊的運算數是對象類的名字.
如果運算符左邊的對象是右邊類的一個執行個體,它傳回true,否則傳回false.
var d = new Date();
d instanceof Date; // true
d instanceof Object; // true
d instanceof Number; // false
var a = [1,2,3];
6
a instanceof Array; // true
7
a instanceof RegExp; // false
typeof運算符是一進制運算符,運算數任意類型.它的傳回值是一個字元串,傳回值說明了運算數的類型.
如果運算數是數字、字元串或布爾值,其傳回的結果就是“number”,“string”,“boolean”。對于對象、數組和null,它傳回的是“object”。
對于函數,它傳回的是“function”,如果運算數是未定的,傳回的是“Undefined”。
delete運算符不是用來删除對象,清除對象記憶體所用的.
它是删除運算符指定對象的屬性,數組元素或變量.
删除成功,它傳回true

var o =
{x:1,y:2}
delete o.x; // return true;
delete o.y; // return true;
delete o.x; // 删除一個已經不存在的元素(已經被删),傳回true
delete o; // 不能删除,return false