問題タブ [javascript-namespaces]
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.
javascript - JavaScript 名前空間で変数を共有する
私の目標:グローバルな名前空間をクリーンに保つために、JavaScript に名前を付けます。
私の質問: JavaScript 名前空間のメソッド間で変数を共有するにはどうすればよいですか?
私の例では、ASP.net ModalPopupExtender の動作を拡張して上書きしています。グローバルにするかどうかに関係なく、modalPopupStack
変数をModalPopupShowOverride
共有する方法を知りたいです。ModalPopupHideOverride
関連コード:
これには簡単な解決策があると確信していますが、それが何であるかはわかりません。
javascript - JavaScript モジュール パターンとその代替パターンの違いは何ですか?
実際、次の 2 つのパターンの違いは何ですか?
あ
利用方法:
B (モジュールパターン)
利用方法:
B では、無名関数によって someVar に外部からアクセスできないスコープが作成されます。Aではそのような構成は不可能だと思いますか?したがって、A と B は作成されるスコープが異なります。
名前空間に関する違いは何ですか? AとBは同等ですか?
javascript - Javascriptサブモジュールメソッド
私は最近、JSプログラミングのサブモジュールメソッドがアプリケーション全体で排他的に使用される環境から始めました。しかし、広告の西側から来た私は、頭を包み込むのに苦労しています。私は概念を理解しています。そのため、次のアラートが発生しないほどイライラします。
このように別のファイルを見ると、initfnにアラートを入れると問題なく機能します。
これらは、同じディレクトリfyiにある個別のjsファイルです。aDifferentCustomVarが機能する場合、それは私のanotherCustomVar名と関係がありますか?
javascript - JavaScript の名前空間とクラスを適切に設定するには?
JavaScript アプリケーションをセットアップするには非常に多くの方法があるようで、どれが正しいか、または最適かについて混乱しています。以下の手法に違いはありますか、またはこれを行うより良い方法はありますか?
別の方法:
最初のテクニックは、クラスのように感じます。これが違いを生む場合、私はサーバー側のバックグラウンドから来ています。2 番目の手法は冗長で少しぎこちないように見えますが、これもよく使われているようです。誰かが光を当てるのを手伝ってくれて、前進するための最善の方法をアドバイスしてくれませんか? 多くのクラスが互いに通信するアプリケーションを作成したいと考えています。
javascript - Javascript オブジェクト/名前空間 - ネストされた関数から追加されたプロパティにアクセスする方法 (例を含む)
私は Javascript オブジェクトと名前空間の理解に取り組んできましたが、ネストされた関数を使用してオブジェクトを生成/表示する方法に少し混乱しています。関数をネストして基本的にオブジェクト ファクトリを作成し、それらをページに表示する方法がわかりません。以下の例。
RTFG とこのサイトのいくつかの例を試してみましたが、何も当てはまらないようです。関連する Q&A へのリンクを歓迎します。しかし、経験豊富な人がこの動作を説明できることを願っています。
以下の 3 つのファイルは、getCar() 関数を 3 回呼び出してカスタム属性を設定することによって生成された 3 つの車のエントリを含む index.html ページをロードする単純なアプリを構成し、それ自体が (完全に間違った) を使用する関数を使用してエンジンを追加します。馬力を計算する関数。
HTML で返された car1、car2、car3 オブジェクトのプロパティにアクセスできると期待していますが、ブラウザで以下から index.html をロードすると、Javascript にエラーは表示されませんが、これらの結果は期待できません。 :
また、車用とエンジン用の名前空間を使用するかどうかを理解するには、次のように各ファイルの先頭で両方を宣言する必要があります。
次に、carFactory.js からの呼び出しを次のように参照します。
私が言ったように、どんな助けにも感謝します。理解しようとしているだけです。これはクラスの割り当てではありません。私は JavaScript 第 6 版のセクションを見てきましたが、この名前空間/オブジェクトの設定が実際にどのように機能するかわかりません。どんな助けにも感謝します。
index.html
carFactory.js
engineFactory.js
jquery - jqueryで名前空間文字列を使用するにはどうすればよいですか?
次のコード例があります...
$.pg['width'] ではなく、常に $.pg[width] と記述して 700 を取得できる便利な方法はありますか? width、height、rate を pg に入れることの要点は、書く量を減らすことができるようにすることです。
ありがとう
javascript - IIFEjquery対応
大量のJavaScriptを含むWebプロジェクトに取り組んでいますが、すべてを「$。」に追加していたため、名前空間の衝突が発生し始めました。
名前空間について読んで、http://addyosmani.com/blog/essential-js-namespacing/ですばらしい記事を見つけました。
推奨されているようにIIFE内に名前空間を設定しようとしましたが、関数はすでに次のように設定されているため、運が良かったと思いました。
だから私はそれを次のように変換しました:
(数時間の作業の後)実際にオリジナルが
つまり、すべてがjQueryのready()関数で呼び出されていたということです。
名前空間IIFEを維持したいのですが、jQueryのready()関数内でどのように使用するかがわかりません。これは可能ですか?もしそうなら、どのように?
javascript - サブネームスペースで定義されたjavascriptオブジェクトとHTMLにインポートされているjsファイルにアクセスする
名前空間内のオブジェクトにアクセスする方法。1)スクリプトファイルをインポートするhtmlがあります
1つのスクリプトはnamesapceアプリを定義し、もう1つのスクリプトはそれにオブジェクトを添付します
オブジェクトにアクセスして使用を開始するにはどうすればよいですか
app.js
personal.js
myhtml.html
オブジェクト「personalcontentstorage」にアクセスしてそのメソッドを使用できるようにする方法。オブジェクトにアクセスすると未定義のエラーが発生します。上記の方法でオブジェクトにアクセスできません。
javascript - jQuery プラグインのオーサリングと名前空間
私はプラグインを次のように書くことに慣れています:
完璧ではないことはわかっています。そのため、名前空間、より良いプラグイン構造/パターンを適切に学習しようとしています。残念ながら、私が読んだ過去数冊の本は、jQuery プラグイン オーサリング チュートリアルを一語一句参照していたため、あまり役に立ちませんでした。チュートリアルはすべてを分割しているようで、組み合わせの良い例を示していないため、混乱しています. チュートリアルでは、名前空間の例を示しています。
jQuery プラグインの名前空間のチュートリアル
私は構造と名前空間付きオブジェクトにアクセスする方法を理解していますが、名前空間を除いたデフォルト/オプションの他の例を示しています...したがって、適切に名前空間があり、デフォルト/オプションを持ち、プラグイン全体で使用するために挿入する HTML 要素は、次のように考えました。
正しいコンボ?
明らかに、myElem をビルド/挿入すると、そのメソッド内でのみ使用可能になり、他のメソッド内では使用できなくなります....間違った場所にビルドしていますか?
デフォルト/拡張は正しい場所にありますか?
プラグインの外部からメソッドにアクセスしたくない場合、メソッド ロジック セクションは必要ですか?
.prototype と .fn を使用する利点はありますか?
誰にでも、みんなに、どうもありがとう!:)
javascript - 名前空間内から再帰関数を使用する場合の「再帰が多すぎる」
名前空間に配置するまで、javascriptで再帰メソッドを使用しています。これは完全に正常に機能しました。この関数は、指定されたquoteproductidを配列のid属性として持つ要素を返します。これはネストされた配列であるため、関数は再帰的です。これは関数宣言です:
これが私が名前空間を宣言する方法です:
これは、関数で使用している名前空間の配列です。
この配列は、ページが読み込まれるときに入力されます。
これで、関数を呼び出すたびに、「再帰が多すぎます」というエラーが発生します。私は何を間違っているのですか?繰り返しますが、この関数は、関数と配列を名前空間に配置する前に機能しました。