一、算术运算符
二、相等运算符
JavaScript中有两个用于比较相等性的运算符:==(相等运行符)和===(等同运算符)。
三、in运算符
in运算符要求其左边的运算数是一个字符串,或可以被转换成字符串,右边的运算数是一个对象或数组。如果该运算符左边的值是右边对象的一个属性名,则返回true,例如:
var point= {x:1, y:1}; //Define an object var has_x_coord = "x" in point; //eveluates to true var has_y_coord = "y" in point; //eveluates to true var has_z_coord = "z" in point; //evaluates to false var ts = "toString" in point; //inherited property; evaluates to true
四、typeof运算符
typeof一元运算符放在一个运算数之前,如果运算数是数字、字符串或布尔值,则返回"number"、"string"或"boolean";对对象、数组或null,返回"object";对函数返回"function";对未定义返回"undefined"。
五、delete运算符
delete是一个一元操作符,它将删除运算符所指定的对象的属性、数组元素或变量。如果删除成功,返回true,否则返回false。
并非所有的属性和变量都可以被删除,某些核心的属性和客户端属性不可被删除;用var语句声明的变量也不能被删除。
如果delete使用的运算数是一个不存在的属性,则返回true(令人吃惊的是,ECMAScript标准规定,当delete运算的运算数不是属性、数组元素或变量时,也返回true)。
例如:
var o = {x:1,y:2}; delete o.x; //true typeof o.x; //undefined delete o.x; //true delete o; //false
注:delete所能影响的只是属性值,不能影响属性引用的对象:
var my = new Object(); my.hire = new Date(); my.fire = my.hire; delete my.hire; //true document.write(my.fire); //my.fire still refers to the Date Object
六、void运算符
void是一个一元运算符,它可以出现在任何类型的操作数之前。这个运算符的用途比较特殊,它总是舍弃运算数的值,然后返回undefined。