1. typeof是一元运算,而instanceof是二元运算
2.typeof的运算结果不外乎这几种:number,boolean,string,function,object,undefined。
instanceof的运算结果则是true or false。
3. instanceof用于判断一个变量是否某个对象的实例,判断某个构造函数的prototype属性是否存在于另外一个要检测对象的原型链上。如:
typeof遇到null、数组、对象时都会返回object,所以当我们要判断一个对象是否是数组时或者判断某个变量是否是某个对象的实例则要选择使用instanceof。
如
var a = [], b = {}, c = null;
console.log(aa, bb, cc);//object object object
var aaa = a instanceof Array, bbb = b instanceof Object;
console.log(aaa, bbb);//true true