以前に使用したことのある他の人によって書かれたいくつかのスクリプトを分析することで、javascript を学んでいます (これには stackoverflow が不可欠です!)。このコードの一部 (コードを読みやすくするために途中から大幅にカットしました。すべてのコメントは私のものです) は、jquery プラグインであるfullCalendar.jsからのものです。
著者がここで何をしているのかわかりません:
function EventManager(options, _sources) { //called using .call()
var t = this;
t.isFetchNeeded = isFetchNeeded; //?? assign the function "isFetchNeeded" to the variable (not the value returned by the function)??
var trigger = t.trigger; //?? namespace??
}
function View(element, calendar, viewName) {
var t = this;
function trigger(name, thisObj) {
return calendar.trigger.apply(
calendar,
[name, thisObj || t].concat(Array.prototype.slice.call(arguments, 2), [t])
);
}
}
まず、this.foo=bar
現在のオブジェクト内の "isFetchNeeded" という変数に関数 "bar" を代入していると思います (なぜこれを行うのかまだわかりません。速度は?)。
第二に、その線var foo=this.bar
は私を困惑させました。名前空間の魔法のようです。
最初の行について考えるのは正しいですか?そして、次の行は何をしていますか?
ありがとう