MSDN中为javascript列出的数据类型是Number,String,Boolean,Object,Array,Null,Undefined。但是,当您执行typeof function
时,其类型是函数。
为什么会出现这种情况,以及数据类型的定义是什么?
答案 0 :(得分:3)
函数只是JavaScript中的对象。但区别在于一个名为[[Call]]
的内部属性,它将它们与普通对象区分开来。当typeof
用于对象时,如果它找到[[Call]]
属性,则它返回字符串“function”。
可以在typeof
的{{3}}中找到此行为。