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;
};
}