大体来说,基本类型的值应该用typeof来检测,而对象类型的值则应该用instanceof来检测。 ----《高三》P509
上面的规则只适用于比较,但是如果要检测一个对象是否存在,或者浏览器是否支持这个对象时,用typeof检测比较方便,
例如:
if(typeof ActiveXObject != "undefined"){
//some code here...
}
补充(2014-12-11):
typeof可以检测的类型有:"undefined"、"boolean"、"string"、"number"、"object"、"function"
所以,typeof可以检测的基本类型包括布尔、字符串、数字类型;对于引用类型可以检测对象类型和函数类型;
参考:《高三》P23
引用类型的检测可以用instanceof 和 constructor两种方式,本目录示例:http://skybirdzw.blog.163.com/blog/static/72570626201411188360145/
详细内容参见《高三》P145