Javascript 检查变量是否为函数的最佳方法是什么?
我已经通过多种方法来检查变量是否是函数,但我无法找出其优缺点、使用哪一种以及原因 在Javascript 检查变量是否为函数的最佳方法是什么?,javascript,function,typeof,Javascript,Function,Typeof,我已经通过多种方法来检查变量是否是函数,但我无法找出其优缺点、使用哪一种以及原因 在typeof的情况下,我的比较是否会失败 1) 函数是函数(functionToCheck){ 返回functionToCheck&&{}.toString.call(functionToCheck)=='[object Function]';} 2) typeof functionToCheck==“function” 3) functionToCheck.constructor==Function在一个完美的
typeof
的情况下,我的比较是否会失败
1) 函数是函数(functionToCheck){
返回functionToCheck&&{}.toString.call(functionToCheck)=='[object Function]';}
2) typeof functionToCheck==“function”
3)
functionToCheck.constructor==Function
在一个完美的世界中,它们都应该返回相同的值
const functionToCheck=()=>{};
log(isFunction(functionToCheck));
log(functionToCheck=='function');
console.log(functionToCheck.constructor==函数);
console.log(functionToCheck instanceof Function);
函数isFunction(函数检查){
返回functionToCheck&&{}.toString.call(functionToCheck)=='[objectfunction]';
}
Hi。这个链接可以帮助你回答你的问题吗?使用typeof方法\u进行评估===“函数”