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

第3引数をthisとした第1引数「関数」を返す。第5引数は返される関数の引数として渡される。

■内部構造

var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {

// boundFunc関数のインスタンスじゃない時。
    if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);

// self は sourceFunc.prototypeをプロトタイプとする新規のObjectを返す。
    var self = baseCreate(sourceFunc.prototype);    
    var result = sourceFunc.apply(self, args);

// result が Object の時。
    if (_.isObject(result)) return result;
    return self;
  };

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