コールバック関数の中でthisを参照

gist6f69a957f23f034ad03e

forを書くのが嫌で、underscoreの._eachでコールバック関数の中でthisでプロパティの値を取得しようとして失敗したもの。 this.basePathとかやってる部分でundefinedになってしまって、このときは_.eachを諦めてfor構文でやったのですが。

       Setting.prototype.parseFiles = function(jsonFiles) {
               var self = this;
            _.each(jsonFiles, function(file) {
                    var propName = file.match(/^.*\\(.*)\.json$/); // ex: one
                        WScript.Echo(Setting.basePath)
                    self[propName[1]] = JSON.parse(includeFile(self.basePath + "\\" + file)); // setting.one
            });
        }

それで、thisを一旦変数に逃がすといけるということを知りました。 基本でした...