Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符,包括in,instanceof,typeof,delete. 需要熟悉一下.
2.1 in运算符
in运算符要求左边的运算数是一个字符串,或者可以被转换为字符串,右边的运算数是一个对象或数组.
如果运算符左边的值是右边对象的一个属性名,返回为true.
1var point = {x:1,y:1}
2var has_x_coord = “x” in point; // true
3var has_y_coord = “y” in point; // true
4var has_z_coord = “z” in point; // false
5var ts = “toString” in point; // 继承自object属性,true;
2var has_x_coord = “x” in point; // true
3var has_y_coord = “y” in point; // true
4var has_z_coord = “z” in point; // false
5var ts = “toString” in point; // 继承自object属性,true;
2.2 instanceof运算符
instance 运算符要求左边的运算数是一个对象,右边的运算数是对象类的名字.
如果运算符左边的对象是右边类的一个实例,它返回true,否则返回false.
1var d = new Date();
2d instanceof Date; // true
3d instanceof Object; // true
4d instanceof Number; // false
5var a = [1,2,3];
6a instanceof Array; // true
7a instanceof RegExp; // false
2d instanceof Date; // true
3d instanceof Object; // true
4d instanceof Number; // false
5var a = [1,2,3];
6a instanceof Array; // true
7a instanceof RegExp; // false
2.3 typeof运算符
typeof运算符是一元运算符,运算数任意类型.它的返回值是一个字符串,返回值说明了运算数的类型.
如果运算数是数字、字符串或布尔值,其返回的结果就是“number”,“string”,“boolean”。对于对象、数组和null,它返回的是“object”。
对于函数,它返回的是“function”,如果运算数是未定的,返回的是“Undefined”。
2.4 delete运算符
delete运算符不是用来删除对象,清除对象内存所用的.
它是删除运算符指定对象的属性,数组元素或变量.
删除成功,它返回true
1var o = {x:1,y:2}
2delete o.x; // return true;
3delete o.y; // return true;
4delete o.x; // 删除一个已经不存在的元素(已经被删),返回true
5delete o; // 不能删除,return false
2delete o.x; // return true;
3delete o.y; // return true;
4delete o.x; // 删除一个已经不存在的元素(已经被删),返回true
5delete o; // 不能删除,return false