大多数情况下,typeof就可以完成检查函数类型的工作,例如:
但是根据浏览器的不同,我们可以发现以下集中情况
- 在firefox2和firefox3中,如果检测一个<object/>类型的元素,将会检测出来是一个function
- firefox2正则表达式会被认为是一个function;但是在firefox3中会被认为是object
- IE6和IE7中一些dom元素的方法会被认为一个object
- //typeof /test/=='function'
- safari3中认为NodeList为function如:typeof document.body.childNodes =="function"
纵观以上所有情况,我们可以写出一个通用的函数来检测某个值是否是函数