typeof是用来返回数据类型的一元运算符,比如typeof x或typeof(x)就是返回变量x的数据类型,下面是返回值列表:

undefined     "undefined"
null          "object"
true,false    "boolean"
number,NaN    "number"
String        "string"
function      "function"
object        "object"

需要注意null的typeof返回的是“object”,NaN的返回是“number”。

delete运算符是删除对象属性或者数组元素的。如delete object.x或delete array[1],下面有几个地方需要注意:

var a = {x:1,y:2};
delete a ;这会返回false
delete a.x ;返回true

this.x = 1;
delete x;返回true,因为它是全局对象的属性。

delete运算符的某些运算其实在不同ECMAScript5 模式下结果不同,比如上面删除x的时候,严格模式就会抛出异常,但普通模式就会返回true。具体的还要参考ECMAScript5的标准了。