节点js检查一个var是否是一个函数
可能重复:
我如何检查一个JavaScriptvariables是否是函数types?
我如何检查如果一个variables是一个函数的数组存在Array.isArray()
但Function.isFunction
dos'nt存在
if (typeof(var) == 'function') { // do something }
Underscore.js是一个库,有很多有用的助手,就像你正在寻找的。
_ = require('underscore'); var aFunction = function() { }; var notFunction = 'Not a function'; _.isFunction(aFunction); // true _.isFunction(notFunction); // false
你可以使用instanceof
操作符。
var fn = function() {}; var result = fn instanceof Function; // result will be true
它也尊重原型inheritance。
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... }
希望它有助于欢呼:)!