問題タブ [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 投票する
1 に答える
1878 参照

javascript - JSDoc3を使用してJSモジュールパターンクラスにコメントするには?

これが私が実際に行う方法ですが、ドキュメントを生成した後、プライベート メソッドとプロパティは表示されません。

私は何か間違ったことをした?

ちなみに、それ以外は正常に動作します。初めてドキュメンテーション ジェネレーターを使用しましたが、非常に感銘を受けました。

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

javascript - Javascript モジュール パターンと jquery Ajax 待機の問題

基本的にメッセージを送信し、続行するには応答を待つ必要があるカスタム js モジュールを作成しました。

私が抱えている問題は、ajax が完了して truesendMessageに設定されるまで関数を強制的に待機させることです。msgRecieved

ただし、関数が関数に一度sendMessageヒットしてwaitから続行するようです。次のコンソール出力は、イベントの順序を示しています。

私が混乱しているのは、wait関数が最後に再び起動するように見えることです..

これを機能させるための指針を誰かに教えてもらえますか?

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

javascript - DOM の準備ができた後にのみ実行するモジュール コードを明らかにするにはどうすればよいですか?

明らかにするモジュールパターンを使用して、「名前空間」に整理します。一部の初期化コード (jQuery Validation プラグイン用) は、ドキュメントのロード後にのみ呼び出す必要があります。

ビットが DOM 対応ラッパー内にある場合$.validator.setDefaultsは呼び出されませんが、IIFE 内にある場合は呼び出されます。

なんで?DOM の準備ができた後に実行するモジュール コードをマークする「最良の」方法は何ですか?

編集:サンプルコードを問題のより具体的なものにしました

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

javascript - モジュールパターン変数の初回実装は未定義です

ここに私のコードがあります

私はこの例を実装していますhttp://css-tricks.com/how-do-you-structure-javascript-the-module-pattern-edition/

しかし、この行で入力フィールドに入力するたびに、アラートで未定義になります

私が何を間違っているのか教えてください。検索しようとしましたが、有用なものが見つかりませんでした。

編集:ここで、私が得ている小さなjsfiddleを作成しました

ありがとう

0 投票する
0 に答える
732 参照

javascript - サムネイル カスタム スライダーのスクロール値

カスタム画像カルーセルで手を汚しました。それを機能させるためにいくつかのjqueryを書きましたが、1つの問題で立ち往生しています。

「前へ」と「次へ」のリンクをクリックすると問題が発生します。

  • 「次へ」をクリックすると、最後の表示項目に到達すると、サムネイル コンテナ DIV が負の左方向にスクロールします。
  • 合計スクロール値は 2 つの要因に依存します
  • まず、サムネイルが 5 つ以上残っている場合、DIV は (itemWidth x 5) までスクロールする必要があります。
  • 次に、残りのアイテムが 5 未満の場合、スクロール値は (itemWidth x leftItems) になります。

「前へ」ボタンと「次へ」ボタンがクリックされた場合、クリック時のスクロール値を計算する方法は?

参考までに:http://jsfiddle.net/ylokesh/8bHZq/2/

JavaScript コード:

0 投票する
0 に答える
603 参照

javascript - Javascript モジュール パターン シングルトン & ユニット テスト

here で説明されているように、標準の javascript モジュール パターンを使用しています。私が直面している問題は、このメソッドがインスタンス化できないシングルトンを作成することです。単体テストは同じ状態を共有するため、基本的に役に立たなくなります。すべてのモジュールに対してティアダウン関数を書くのはかなり面倒に思えますが、もっと良い方法があるのではないでしょうか?

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

javascript - サブネームスペースを宣言するときに var を使用できないのはなぜですか?

なぜ次のように動作するのですか

しかし、これはそうではありませんか?

名前空間に関する可変減速の内部動作についての洞察をいただければ幸いです。

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

javascript - 「OOP」JavaScriptの把握:継承のあるモジュールパターン

継承を加えたモジュールのパターンを把握しようとしています。私は大学出身で、主に Java をトランクに入れていますが、Web 技術に携わって約 10 年になります。私は JavaScript を始めて 1 年ほどしか経っていませんが...

とにかく、単純な継承 ( .prototype) の例を試しています。Peopleオブジェクトからを追加し、それらのメソッドGentlemanを使用してそれらを一覧表示できます。.toString()AGentlemanは a の子Humanです。「abstract」を実装するまではうまくいきましHumanたが、コードが実行されなくなりました。

私のコードで何が悪いと考えられているかについてコメントしてください。モジュール/プロトタイプのアプローチにとどまりたいのですが、何が間違っていますか? thisまた、さまざまな文脈で何を意味するのかを聞きます。つまり、Peopleプライベート_peopleを直接使用できますが、サブモジュールでは使用する必要がありますthis._name-なぜですか?

フィドル: http://jsfiddle.net/5CmMd/5/

編集:コードを更新し、少しいじりました。これが機能するようになれば、設計のほとんどを理解できたと思います。この例は、JavaScript の世界を訪れる将来の OOP プログラマーのための簡単なチュートリアルとしても機能すると思います。

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

javascript - より良い JavaScript の編成と実行 The Unobtrusive Way - Self-Executing Anonymous Func

私はゆっくりと JavaScript の理解を深めていますが、この特定の組織/実行シナリオに取り組む最善の方法に行き詰まっています。

私は C# のバックグラウンドを持ち、名前空間の操作に慣れているため、JavaScript でこれを実現する方法について読んでいます。すでに大きな JavaScript ファイルになり始めていたものを、より論理的な部分に分割しました。

再利用可能なユーティリティ関数など、2 つ以上のページに共通するものを別の名前空間とファイルに含む、ページ固有の JavaScript 用にページごとに 1 つのファイルを作成することにしました。

これは現時点では理にかなっており、少なくとも開発プロセス中は一般的な選択肢のようです。いずれにせよ、バンドル ツールを使用して、これらの異種ファイルを組み合わせて運用環境に展開するので、開発がより論理的になり、コードを見つけやすくなるものは何でも良いでしょう。

多くのカスタム JavaScript を扱った経験がなかった結果、共通の JavaScript ファイルで関数を次のように定義しました。

common.js

これは、アプリケーション内の単一のページに固有のものであるため、明らかに理想とはほど遠いものですが、完全に愚かではないにしても、まったく無意味で非常に非効率的なすべてのページ要求で実行されていました。そのため、最初に名前空間について読み始めることにしました。

少し読んだ後、これをページ固有のファイルに移動し、次のように書き直しました。

common.js から historyPage.js に移動

このパターンはjQuery Enterprise ページで見つけました。まだ完全に理解しているふりをするつもりはありませんが、これは非常に人気があり、さまざまなスコープで JavaScript を編成および実行する最も柔軟な方法であり、物事をグローバル スコープから除外しているようです。

しかし、私が今苦労しているのは、実行の観点からこのパターンを適切に利用する方法です。また、JavaScript を HTML Razor ビューから除外し、控えめな方法で作業するようにしています。

historyPage.GetHistoryでは、実際に実行する必要がある場合にのみ関数を呼び出すにはどうすればよいでしょうか。つまり、ユーザーが Web サイトの履歴ページに移動し、関数の結果が必要な場合のみです。