Javascript学习2 - Javascript中的表达式和运算符

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;


2.2 instanceof运算符

     instance 运算符要求左边的运算数是一个对象,右边的运算数是对象类的名字.
     如果运算符左边的对象是右边类的一个实例,它返回true,否则返回false.

1var d = new Date();
2instanceof Date;      // true
3instanceof Object;   // true
4instanceof Number; // false
5var a = [1,2,3];
6instanceof Array;    // true
7instanceof 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
posted @ 2009-09-29 11:43  shipfi  阅读(290)  评论(0编辑  收藏  举报