我尝试了多种方法来检查变量是否为函数,但是我无法弄清楚各种方法的优缺点,应该使用哪种方法以及原因。
在typeof
的情况下,有没有任何边缘情况会导致我的比较失败?
1)function isFunction(functionToCheck) {
return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'; }
2)typeof functionToCheck === 'function'
3)functionToCheck.constructor === Function
typeof method_to_evaluate === 'function'
。 - ArUn