なぜjQueryでは「({ })」を使うのか?
2023-08-14 13:57:48
質問
なぜ
({ })
?
デリゲートですか?
この構文を使う意味は何ですか?
何を包んでいるのか?
例えば
$.ajaxSetup ({ // <-- THIS
error: fError,
compelete: fComp,
success: fSucc
}); // <-- AND THIS
どのように解決するのですか?
{}
はJavaScriptのオブジェクト表記法です。 例えば
$('selector').plugin({ option1: 'value' });
この場合、プラグインに設定を含むオブジェクトを渡しています。 プラグインはこれをオブジェクトとして、例えば参照されるものが何であれ、扱うことができます。
settings.option1 //the option you passed in.
もちろん他にもいろいろな使い方がありますが、jQueryではこれが最も一般的な例です。 同じことが
.animate()
,
$.ajax()
,
.css()
関数などです。プロパティを受け取るものは、一般的にこの形式を使用します。
リクエストに応えて、他の例をいくつか。
渡されたオブジェクトの内部の任意のオブジェクトは、例えば、プロパティだけでなく、同様に関数になることができます。
$("<input>", {
type: "text",
focusin: function() { alert("Hi, you focused me!"); }
});
これで、その入力のフォーカスイベントにアラートが設定されることになります。もう一つは、オブジェクトを拡張して、プロパティを追加する方法です。
var person = { first_name: "John" };
$.extend(person, { last_name: "Smith" });
//equivalent to:
person.last_name = "Smith";
//or:
person["last_name"] = "Smith";
現在
person
には
last_name
プロパティがあります。 これはプラグインでもよく使われるもので、デフォルトの設定を取得し、次に渡された設定をマージし、指定した設定で上書きし、残りはデフォルトを使用します。
なぜそれを使うのでしょうか? まあ...それがJavaScriptの仕組みであり、jQueryの精神です。情報を渡すための非常に簡潔で柔軟な方法です。
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] ECMAScriptとは?
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました