可能重复:
How can I check if a javascript variable is function type?
我如何检查变量是否是函数
for Array存在Array.isArray()
但Function.isFunction
不存在
答案 0 :(得分:35)
if (typeof variable === 'function') {
// do something
}
答案 1 :(得分:4)
您可以使用instanceof
运算符。
var fn = function() {};
var result = fn instanceof Function; // result will be true
它也尊重原型继承。
答案 2 :(得分:4)
Underscore.js是一个拥有大量有用助手的库,就像你正在寻找的那样。
_ = require('underscore');
var aFunction = function() { };
var notFunction = 'Not a function';
_.isFunction(aFunction); // true
_.isFunction(notFunction); // false
答案 3 :(得分:1)
var fn = function() {},
toString = Object.prototype.toString;
first way:
if( toString.call( function(){} ) === '[object Function]' ) {
//if is Function do something...
}
second way:
if( fn.constructor.name = 'Function' ) {
//if is Function do something...
}
希望它有助于欢呼:)!