我如何检查变量是否是数组的函数存在Array.isArray()
但Function.isFunction
不存在
问问题
23582 次
4 回答
48
if (typeof variable === 'function') {
// do something
}
于 2012-10-24T16:46:47.603 回答
6
您可以使用instanceof
运算符。
var fn = function() {};
var result = fn instanceof Function; // result will be true
它还尊重原型继承。
于 2012-10-24T16:50:12.887 回答
4
Underscore.js 是一个包含许多有用帮助器的库,就像您正在寻找的那个。
_ = require('underscore');
var aFunction = function() { };
var notFunction = 'Not a function';
_.isFunction(aFunction); // true
_.isFunction(notFunction); // false
于 2012-10-24T17:24:53.573 回答
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...
}
希望它有助于欢呼:)!
于 2012-10-24T17:04:08.870 回答