1、相同点:都常用来判断一个变量是否为空,或者是什么类型的。
2、不同点:
(1)typeof:返回值是一个字符串,用来说明变量的数据类型(number,boolean,string,function,object,undefined)。
用法:
1>判断一个变量是否存在
if(typeof(a)!="undefined"){
alert("ok!");
}
若使用if(a) 如果a不存在,(未声明)则会报错。
2>对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。
(2)instanceof 用于判断一个变量是否属于某个对象的实例。
var a = new Array(); alert(a instanceof Array); // true alert(a instanceof Object) // true