問題タブ [module-pattern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
15846 参照

javascript - JavaScriptモジュールパターン:プライベートメソッドはモジュールのスコープにどのようにアクセスしますか?

モジュール パターンを実装するとき、プライベート関数はモジュールのプライベート プロパティにどのようにアクセスしますか? 開発者がこれを行う例は見たことがありません。しない理由はありますか?

0 投票する
2 に答える
1256 参照

javascript - モジュールパターンのプライベート変数に動的にアクセスすることは可能ですか?

プライベート変数に動的にアクセスするモジュールパターンからパブリック関数を持つ方法はありますか? test1 は、「動的にアクセス」の意味を示していますが、パブリック変数を使用しています

プライベート変数を格納する単一のプライベート変数(オブジェクト)を作成することになったので、そのようにアクセスできました

しかし、それに対する別の解決策はありますか?

0 投票する
2 に答える
2333 参照

javascript - jqueryに依存するJavascriptでのモジュールパターンの実装

モジュールコードがjQueryなどのサードパーティライブラリに依存している場合、モジュールパターンを実装するための最良の方法は何ですか?

私の質問は次のとおりです。私はすべてのコードをjavascriptファイルのファッションのようなライブラリに入れることを計画しています。

メソッドにあるgetData()ように、私はajax呼び出しを行う予定です。これにはjQueryライブラリを使用したいと思います。jQueryに依存しながら、JavaScriptモジュールをコーディングするにはどうすればよいですか?

代わりに、ライブラリ全体をjQueryプラグインにする必要がありますか?

0 投票する
1 に答える
654 参照

javascript - JavaScriptモジュールをグローバルスコープに追加するクロスプラットフォームの方法は何ですか?

store.jsのソースコード、特にそれ自体がグローバルスコープにどのように追加されるかを調べていました:

最後のステートメントは理解できthis.store = storeますが、他のステートメントはどうですか? moduleおよびdefine関数とは何ですか? this.store = storeまだすべてのブラウザーで動作しませんか?

より一般的には、グローバル スコープにモジュールを追加するための正しいクロスブラウザーの方法は何ですか?

0 投票する
2 に答える
8943 参照

javascript - Javascript 公開モジュール パターン、パブリック プロパティ

私は、javascript でモジュール パターンを明らかにすることに頭を悩ませようとしています。次のコード スニペットについて、2 つの点で困惑しています。

  1. ここでコンソールに書き込まれる 3 つの値は 100、150、100 です。値を指定して「addPoints」を呼び出すと、totalPoints 変数が更新されないことがわかります。addPoints 関数の totalPointsの値を調べると、適切にインクリメントされています。どうしたの?

  2. コンソールを使用してwindow.addPointsまたはwindow.getPointsを調べると、グローバルスコープに追加された関数宣言の前に「var」を使用していないため、それがわかります。それは間違っていませんか?私が見ている例のほとんどは、これを行っているようです。

感謝して受け取ったポインタ。

0 投票する
3 に答える
1918 参照

javascript - モジュールパターンのコンストラクター

javascriptでモジュールパターンを使用する場合、コンストラクターを定義する必要があります。コンストラクターをグローバルではなく、標準のモジュールパターンに適合させたいです。

なぜこのようなものが機能しないのですか、それは完全で完全にナンセンスですか?

0 投票する
4 に答える
493 参照

javascript - この JavaScript コーディング パターンを使用してコンストラクター関数を定義する利点は何ですか?

私はオブジェクト コンストラクターを次のように書く傾向があります。

いくつかの JavaScript ライブラリとフレームワークが、次のようにコードを追加していることに気付きました。

自己実行匿名関数が何を行い、何に使用されるかを知っています。現時点では、コンストラクターとそのプロトタイプを定義するときにこれがどのような利点または利点を提供するかはわかりません。

編集#1:

私はモジュール パターンとその利点を知っており、コーディングでかなり頻繁に使用しています。私のコミュニケーションにおける間違いは、私の最初のコード サンプルがグローバル スコープにあるはずがないことを明確にしていなかったことです。私は常に、すべての外部 JavaScript ファイルを自己実行型の匿名関数でラップして、コードにローカル スコープを適用します。

例えば:

問題は、そのような無名関数内で使用されている 2 番目のコード サンプルに示されているテクニックを見たことです。

例えば:

ここで技の意義を腑に落ちない。

0 投票する
2 に答える
135 参照

javascript - モジュール パターンでのプライベート変数の設定と取得

プライベート変数 _a がセッターで更新されない理由を誰かが説明できますか? 私は本当に明白なものを見逃しているに違いありませんが、それを見ることはできません。

2回目の呼び出しは2を返すはずだと思った

ここにコード - http://jsfiddle.net/JUKWN/

0 投票する
2 に答える
290 参照

javascript - JavaScript コードベースをモジュールに分割する方法は?

Web アプリケーションの JavaScript が 1 つの巨大なファイルに成長しました。管理しやすいようにモジュールに分割したいと考えています。

Web アプリケーションのコードベースを分析するための確立されたベスト プラクティスがあるかどうか、それともプロジェクトごとに大きく異なるだけかどうかはわかりません。

特に:

  • 各モジュールは、「レイアウト」や「クライアント側のストレージ」など、アプリ全体の概念を担当する必要がありますか?

  • または、モジュールは、構築されているアプリに固有の概念 (「コメント」や「カレンダー」など) 用であり、各モジュールは独自のレイアウト、独自のクライアント側ストレージなどの管理を担当する必要がありますか?

  • または両方の混合物?

0 投票する
2 に答える
659 参照

javascript - jQueryを使用した「RevealingModulePattern」モジュールのスコープの決定

このモジュールがあり、それを自己初期化してそのスコープにアタッチしたいとします。そのようです:

さて、問題は、それselfが常にであるということwindowです。私はそれを望んでいません。$.getScript()次のように、jQueryによって呼び出されて読み込まれるスコープにしたいと思います。

これをクラックする方法はありますか?