使用typeof查看类型时会多出一个function类型,
而JS实际中只有5个基本类型与一个复杂类型(对象)。
js定义类型:
1.number
2.string
3.boolean
4.undefined
5.null (也算对象)
6.object
typeof:
1.number
2.string
3.boolean
4.undefined
5.object
6.function
1.number
2.string
3.boolean
4.undefined
5.null (也算对象)
6.object
1.number
2.string
3.boolean
4.undefined
5.object
6.function
13 回答12.7k 阅读
7 回答1.8k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答775 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
function本质上也是一个对象,但是function对象与普通对象相比,其内部有一个[[Call]]方法,用来表示这个对象是可调用的,typeof操作符在判断Object时,如果内部实现了[[Call]]方法,就返回function。

附上typeof操作符返回判断图: