問題タブ [object-literal]
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.
jquery - PostBack 後に jQuery オブジェクトで元の値を保持する要素
私はASP.NET 3.5を悪質なUpdatePanel、jQuery.delegate()
、およびJavaScriptオブジェクト リテラルと組み合わせて使用しています。
PostBackjQuery.delegate()
の後にトリガーされるイベント ハンドラーを永続化するために使用します。
問題は、 ASP.NET PostBackの前に持っていた値を保持する場所のオブジェクト リテラル プロパティに格納されているjQueryオブジェクトにあります。init()
これが私のJavaScriptです:
SFAIC
SFAIC.init()
SFAIC.validateRequired()
上記の場合、SFAIC.init()
が起動self.textBox
されると、その jQuery オブジェクトに割り当てられます。ここに私の混乱があると思います。.val()
を呼び出すと、その時点でその要素にあるものの値が返されると思いました。サーバーに呼び出しを行い、コントロールの値を変更して、要素の変更された値をレンダリングして戻ってきた場合、jQuery オブジェクトはその変更を認識していないようです。
私はここで間違っていますか?
ページがポストバックされた後に現在の値を取得できるように、要素へのリアルタイム参照を保持するにはどうすればよいですか?
@DaveLongごとの編集リクエスト:
SFAIC.getCSMasterElement()
SFAIC.getCPMasterElement()
SFAIC.getContentElement()
SFAIC.getElement()
SFAIC.getElementIdSelector()
SFAIC.getElementPrefix()
javascript - JS オブジェクト リテラルを並べ替えるには?
この JS オブジェクト リテラルがある場合:
新しいソートされたオブジェクト リテラルを作成するにはどうすればよいですか。
javascript - カスタム get/put 操作を持つ Javascript で連想配列を作成する
連想配列として動作するJavascriptオブジェクトを作成する必要がありますが、プロパティを取得および設定する前に呼び出される関数がいくつかあります。
たとえば、タスクは次のようになります。次のように、キーの 2 乗値を含むオブジェクトを作成する必要があります。
これは一例です。実際には、設定操作もオーバーライドする必要があります。取得操作と設定操作はデータベースに送られ、必ずしも文字列をキーとして使用するのではなく、DB クエリを作成する任意のタイプのオブジェクトを使用します。
a) サードパーティのライブラリをできるだけ少なくし、b) できるだけ多くのプラットフォームで動作させるにはどうすればよいですか?
私は JS を初めて使用します。JS には連想配列がなく、任意のプロパティを使用してオンザフライでオブジェクトを定義する機能に依存していることがわかりました。私はググって、その場で新しいゲッター/セッターを定義するルックアップゲッター(およびセッター)を使用またはオーバーライドするというアイデアを持っていましたが、インタープリターが新しいキーに遭遇するたびにこのメソッドを使用するかどうかわかりませんでした。とにかく、文字列や数字以外はキーとして使用できないようです。
Java では、java.util.Map を実装するだけです。
Javascriptで同じことをするにはどうすればよいですか?
編集
[[Get]]
ここで言及されているオーバーライドと[[Put]]
メソッドを管理すれば、必要なものが得られると思いますhttp://interglacial.com/javascript_spec/a-8.html#a-8.6.2.1
javascript - オブジェクトコンストラクターでオブジェクトリテラル表記を使用する利点は?
私は JS のより細かい点を理解しようとしており、オブジェクト リテラルがコンストラクターに渡される多くの例を見ています。このアプローチの利点は何ですか?また、このアプローチを使用するためにオブジェクトを作成するにはどうすればよいですか?
例えば:
単純なクラスを作成しているとします。多くの単純な OO チュートリアルは、次のようなものを提案しています
とは対照的に
このアプローチを使用するために Cat オブジェクトを作成するにはどうすればよいですか?
javascript - Javascript のオブジェクト リテラルの動的キー
わかりましたので、私は Nodes でプロジェクトに取り組んでいます。オブジェクト リテラルのキーに関する小さな問題に遭遇しました。次の設定があります。
多くの人がこれを見て大丈夫だと思うでしょうが、コンパイラは私が:
(コロン) を欠いている+
と言い続けてい.
ます。
オブジェクトリテラルはコンパイル時に作成され、実行時でthis.applicationPath
はなく、連結などの動的変数が使用できないことを意味します:( :(
大量のコードを書き直すことなく、このような障害を克服する最善の方法は何ですか?
javascript - 単純なオブジェクト リテラル スコープ/参照の問題で立ち往生
これが私の構造のサンプルです:
ご覧のとおり、入力、ボタン、パネル、関数をそれぞれのオブジェクト リテラルに格納しています。問題はfn.abc
、fn.def
、または 内の他の関数にありpage.fn
ます。内の関数内からmy inputs
、buttons
、およびにアクセスできるようにしたい。panels
fn
もちろん、入力できることはわかってthis.is.a.really.long.namespace.inputs
いますが、ご覧のとおり、かなり長いので、ページ内のオブジェクトを参照する必要があるインスタンスごとに入力する必要はありません。
inputs
、buttons
、およびpanels
内から直接参照できる方法はありませんfn
か?
私はできると思っていました:
that.inputs
の中で使用できるようになりますfn.abc
が、その方法に懸念はありますか? 知っておく必要のあるオーバーヘッドはありますか? または、これを達成するためのより良い方法はありますか?
javascript - オブジェクト リテラル内で以前に定義されたプロパティを参照する
オブジェクト コンストラクターを使用する場合、プロパティを以前に定義したプロパティの値に直接割り当てることができます。
OBJECT LITERAL 内で以前に定義されたプロパティを参照したい:
私はこれを行うことができることを知っています:
しかし、baz を関数ではなく値に直接代入したいと考えています。何か案は?
javascript - 関数をオブジェクト リテラルの前にプッシュする
jQuery UIモーダルをポップアップするHTMLがあります:
この JavaScript コードを使用すると、次のようになります。
アイデアは、モーダルのリソースにフォームが含まれており、モーダルの送信時にフォームが送信されるというものです。存在する場合<a href="my/url" class="popup" data-third="Add & new">Click me</a>
、3 番目のボタンが次の順序でモーダルに配置されることを意味しますCancel
。Add
| | Add & new
.
私はこのコードを試しました:
新しいボタンができましたが、順序はAdd & new
| Cancel
| | Add
. Cancel
注文が|であることを確認するにはどうすればよいですか? Add
| | Add & new
?
javascript - オブジェクトリテラルのコンテンツにアクセスするにはどうすればよいですか?
誰かがコンテンツをオブジェクトリテラルに格納するための最良の方法と、JSパターンを使用してそれにアクセスする方法を教えてもらえますか?私はそれを機能させることができないようです。
model-view-controller - Backbone.js: オブジェクト リテラル内でコレクションのメソッドを呼び出す方法
次の backbone.js コードがあります。コードを整理するためにオブジェクト リテラルを使用していますが、最善の方法について疑問が残りました。アプリケーション (以下の簡略化された形式) には、コレクションに新しいカテゴリを追加するために使用されるコントロール パネル (表示または非表示にできます) があります。(質問が続きます)
明らかに上記の問題は、 addCategory 関数を呼び出すと、初期化されていないオブジェクトの関数を呼び出そうとすることです。init 関数内でインスタンス化されたオブジェクトに対して代わりに関数を呼び出すことで、問題を回避しました (コメントアウトされたコードを参照) 。私の質問は - これは正しいことですか? コードの匂いを感知。オブジェクト リテラルの内容が有効であるためには、作成されるオブジェクトに依存するべきではないと思います。このインスタンスの関数 addCategory は、最初に親で init 関数が呼び出されていない限り機能しません。ここで使用する必要がある別のパターンはありますか?
「新しいカテゴリフォームの作成」のコンテンツをコレクションに渡して追加するにはどうすればよいですか (モデルを自動的に検証/作成/永続化したいので create を使用しています。これが最も簡単な方法のようです) )。私はバックボーンを持ったどん底の初心者です (これが私の 'Hello World' です)
ありがとう