首先我们要知道javascript中的基本数据类型有哪些:
Undefined
Null
String
Boolean
Number
Object
然后,我们用typeof检验各种可能遇到的情况,以下图片中是我在浏览器中的运行结果,哪些是你不知道的呢?
我猜,你一定不知道null == undefined
会返回true吧,嘿嘿!
那么,疑问来了!为何typeof要将function和object区分开来呢?
再此之前,我也没有想过这个问题,这里我引用《JavaScript高级程序设计(第三版)》中的一段话:“从技术角度讲,函数在ECMAScript中是对象,不是一种数据类型。然而,函数确实有一些特殊的属性,因此通过typeof操作符来区分函数和其他对象是有必要的。”
关于函数和Object的区别,网上有很多相关的文章,下面的解释或许能让你了解的更清楚。