typeof
返回右操作数对象类型,返回值都是字符串
可以判断类型:undefined/数值/字符串/布尔值/function
不能判断:null/object/array(返回的都是object)
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
typeof function(){} // 返回 function
instanceof
判断左操作数是不是右操作数的实例,通过原型链判断,返回一个布尔值
可以判断类型:object/array/function
不能判断:原始数据类型(undefined/null/数值/字符串/布尔值)
function(){} instanceof Function //true
{name:'John', age:34} instanceof Object //true
[] instanceof Array//true
constructor
[].constructor === Array