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