私は新しい会社で仕事を始めたばかりで、多くのJSで私に間違っているように見えるものに気付きました。私はかなり後輩であるので、これが間違っていることを確認することなくそれを引き出すのはちょっと躊躇しています。私はJSの専門家ではなく、2日目です。私は馬鹿に見えたくありません。このキーワードはモジュールパターンにありますか?
MODULENAME = MODULENAME || {};
MODULENAME.SUBMODULENAME = (function() {
var bla = {};
bla.somefunction = function() {
//do stuff
};
//add more stuff to bla
return bla;
}());
彼らはすべて彼らのコードの上に持っていることである:
MODULENAME = MODULENAME || {};
MODULENAME.SUBMODULENAME = (function() {
var that = this;
that.somefunction = function() {
//do stuff
};
//add more stuff to that
return that;
}());
今のコース機能ISNので」
ので、通常私は、モジュールのパターンのようなものを見て期待しますnew
キーワードを持つコンストラクタ、または方法としてthis
が呼び出され、window
にバインドされ、that
がthis
と定義されています。だから、彼らは基本的にすべてをグローバルオブジェクトにダンプしていて、すべてのサブモジュール名は実際にwindow
のエイリアスです。誰かがこれをやりたがっている理由はありますか?それとも、これは本当に間違っているようですか?
編集:
私はもともと、私は少し別の何かを書き、var
を削除するのを忘れて、サブモジュールの定義の前にvar
を置くことでミスを犯しました。私はこの例をもう少し明確にするように努力しました、うまくいけば、私が今何を意味するのかがもっと分かります。
編集2:
また、私はFirebugの中で実行されるスクリプトを見てきましたし、彼らは間違いなくwindow
にすべてを追加すると、そのオブジェクトは合計混乱です。
申し訳ありませんが、あなたの質問を理解できませんでした。それをより良く説明できますか? –
'this'はクラスや要素を参照していませんか?私もあなたの質問を理解しているか分からない。 –
あなたは新しい会社に着手したばかりで、わからないことがわかりました。コードを知っている同僚にあなたがそれについて投稿した理由は何かを尋ねるのではなく、新しい仕事を始めるには悪い方法のようだ。 –