使用typeof首先要明白 typeof 可以检测什么。 typeof 主要用于检测基本数据类型。typeof尽量不要用来检测复杂数据类型。
typeof 检测null 和 数组 的时候 结果也是objcet。所以 使用 typeof bar === "object" 来确定 bar 是否是对象是不准确的。
除非这样使用 (bar !== null) && (typeof bar === "object") && (toString.call(bar) !== "[object Array]")
因为 isNaN()函数调用返回的结果是boolean值所以 是boolean类型。