1

だから私は次のJavaScript行を含むプロジェクトを見ています:

window.negotiationApp = window.negotiationApp || {};

このコード行で何が起こっているのか説明できる人はいますか?

更新 このコード行が何をしているのかを理解したので、私の質問は次の点でユニークかもしれません:

javascript コードにネゴシエーションApp オブジェクトがありません。window.negotiationApp は常に空のオブジェクトに設定されます。開発者はこれを名前空間または他のオブジェクトのコンテナとして使用しているようです。これは一般的なJavaScriptの慣行ですか?

4

4 に答える 4

5

が設定されていることを確認しwindow.negotiationAppます。windowにこのプロパティがない場合は{}(空のオブジェクト) に初期化されます。それ以外の場合は何もしません。

于 2013-06-09T18:39:38.250 に答える
2

基本的に、window.negotiationApp存在しない場合は に設定することを意味するイディオムです{}。将来の情報が undefined などを返さないように、そうするかもしれません。

于 2013-06-09T18:40:10.903 に答える
2

window.negotiationAppオブジェクトが未定義でないことを確認します。

window.negotiationApp = window.negotiationApp || {};

が定義されている場合は、それを使用するか、空のオブジェクトwindow.negotiationAppを割り当てます。window.negotiationApp

if(window.negotiationApp) {
  window.negotiationApp = window.negotiationApp;
}
else {
  window.negotiationApp = {};
}
于 2013-06-09T18:40:15.353 に答える
2

この変数はグローバル スコープで設定されているため、既存の変数が存在する場合でも上書きしないようにします。

したがって、基本的には、negotiationApp変数が既に定義されている場合はそれを使用し、そうでない場合は新しい変数を作成します。

于 2013-06-09T18:40:54.023 に答える