isFunction() | Underscore JS 日本語リファレンス

typeof 引数 == "function" だった時に「true」を返す。

■使用例

var func = function(){
	this.works = "Psyclopedia";
	this.author = "PSY・S [saiz]";
	this.music = "ファジイな痛み";
	this.music3 = "遠い空";
	this.music4 = "Parashute Limit";
	this.music5 = "Angel Night 天使のいる場所";
	console.log( this.works + " : " + this.author );
};
// コンソールに表示され、re = false;
var re = _.isFunction( new func() );
// コンソールに表示されない。re2 = true;
var re2 = _.isFunction( func );

■内部構造

// var toString = ObjProto.toString;
// _[isFunction] = function( obj ){ return toString.call(obj) === "[object Function]"; }
  _.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error"], function(name) {
    _["is" + name] = function(obj) {
      return toString.call(obj) === "[object " + name + "]";
    };
  });

// if (typeof /./ != "function" && typeof Int8Array != "object") が true なので if 文が実行され _.isFunction() が上書きされる。
  if (typeof /./ != "function" && typeof Int8Array != "object") {
    _.isFunction = function(obj) {
    	
// typeof obj == "function" が true なら true が返される。
      return typeof obj == "function" || false;
    };
  }

このページのトップへ戻る