节点js检查一个var是否是一个函数

可能重复:
我如何检查一个JavaScriptvariables是否是函数types?

我如何检查如果一个variables是一个函数的数组存在Array.isArray()Function.isFunction dos'nt存在

 if (typeof(var) == 'function') { // do something } 

Underscore.js是一个库,有很多有用的助手,就像你正在寻找的。

http://underscorejs.org/

 _ = 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... } 

希望它有助于欢呼:)!