21

重複の可能性:
javascript 変数が関数型かどうかを確認するにはどうすればよいですか?

変数が配列の関数であるかどうかを確認する方法は存在しますが、存在しArray.isArray() ませFunction.isFunction

4

4 に答える 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は、探しているような便利なヘルパーがたくさんあるライブラリです。

http://underscorejs.org/

_ = 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 に答える