めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

Try.these()

Try.these()は、Prototype.js(1.5.1.1)が用意しているものでした。

  • Tryもオブジェクト(?)だったんですね。そうかそうか。
  • retrunValueという戻り値がある
  • arguments(あるぐめんつ?)は引数だったはず
  • argumentsの中身をさらって、ひとつずつ実行している?

該当箇所のソース

var Try = {
  these: function() {
    var returnValue;

    for (var i = 0, length = arguments.length; i < length; i++) {
      var lambda = arguments[i];
      try {
        returnValue = lambda();
        break;
      } catch (e) {}
    }

    return returnValue;
  }
}