私は$をどうやっているのだろうと思っていました。 $ .ajax({...});作業?それは私にとって意味をなさない。確かにメンバーとしての.ajaxは理にかなっていますが、$ isntは変数名ですか?またはそれは?どのように定義されていますか?
答えて
$はjQueryと同じです。つまり、jQuery.ajax(...)などを書くことができます。
$はJavascriptの変数名の正当な文字です。たとえば、PHPやPerlのように、特別な意味はありません。ソースから
:
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
jQuery = window.jQuery = window.$ = function(selector, context) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init(selector, context);
},
それは、そのようなあなたが言及ajax
機能としての性質を持つ機能(ファーストクラスのオブジェクト)です。
"$"は変数名の有効な文字です。コードスニペットからわかるように、$
はjQuery
と同じです。
$は、Javascriptの変数名で使用できる唯一の有効な文字の1つです。 JQueryと他のライブラリは$をjQueryオブジェクトを初期化する関数に初期化することを利用しています。
私の記憶が正しければ、コードは多少、次のようになります。
$ = window.jQuery = function(){
return new jQuery(args);
}
$これは短いのjQueryを参照するjQueryライブラリ内で定義されています。この「ウィンドウ$」、「$」は、ウィンドウオブジェクト環境に属し
var
// Will speed up references to window, and allows munging its name.
window = this,
// Will speed up references to undefined, and allows munging its name.
undefined,
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
: あなたはライブラリをダウンロードして、最初の行を見ることができます。
javascriptでは、関数はオブジェクトです(変数に含めることができます)。 このように、プロパティ(および値としての機能を持つプロパティのみのメソッド)を持つことができます。これを試してみてください:
function test() {
alert("hey!");
}
test.foo = function (msg) {
alert("you said: "+msg);
};
test(); //alerts "hey!"
test.foo("123") //alerts ""you said: 123".
//note that I'm not calling test().foo(),
//as test() returns nothing, though it could
//return an object (with a foo() or any other method itself!)
これはjQueryの場合のようなものです。
としてはMozilla's JavaScript Guide含め、JavaScriptのリソースの数で説明:
文字で始まる必要がありA JavaScriptの識別子、アンダースコア(_)、またはドル記号($)。後続の文字は数字(0〜9)でもかまいません。 JavaScriptでは大文字と小文字が区別されるため、文字には "A"から "Z"(大文字)と "a"から "z"(小文字)の文字が含まれます。
ので、次は、JavaScriptで(無分別かかわらず)すべての法的です:、それは関数名です
var $ = function() {};
var ____ = 0;
var __$__$ = 1;
function _$_$_$_(_, __, $_$) {
return (_ * __) + $_$;
}
alert(_$_$_$_(3,2,1)); // shows 7
- 1. クロスJavaとJavascriptテンプレート言語?
- 2. TypeScriptとJavaScript言語サービス
- 3. Djangoテンプレート言語とjavascript
- 4. JavaScript言語
- 5. スイッチ言語javascript/ph
- 6. javascript/jqueryの宣言とオーバーライド
- 7. ネイティブ言語の問題()とhtml jQueryの
- 8. JavascriptのCakephp多言語サポート
- 9. Facebook Javascript SDKロケール言語
- 10. JavaScriptの多言語選択
- 11. javascriptの言語の辞書
- 12. A JavaScript言語の問題
- 13. jquery xml多言語のアイディア
- 14. 動的切り替え言語PHP、Javascript、jQuery UI
- 15. Javascriptまたはjqueryを使用した多言語ページ
- 16. 非効率なJavascriptをJQueryに置き換えて言語エラー
- 17. 式言語でJavaScriptをエスケープする
- 18. JavaScriptはアプリケーション言語ですか?
- 19. JavaScriptでは言語の表示名
- 20. JavaScriptで言語に無関係のスラッグ
- 21. Yiiエラーメッセージ言語とコンテンツ言語
- 22. 高レベル言語と低レベル言語?
- 23. JavaScriptは「シングルスレッド」言語であると言うのは正確ですか?
- 24. アーキテクチャと言語
- 25. 処理言語とjavascriptはどちらですか?
- 26. Jプログラミング言語での配列言語
- 27. javascript多言語メタの説明
- 28. JavaScriptの複数言語のエラーメッセージ
- 29. のVisual Studio 2017のJavaScript言語サービスが
- 30. 自然言語コマンド言語
jqueryのソースの読み取りを持っています。この関数は、メンバー 'ajax'を持つJQueryオブジェクトを効果的に返します。 – Lazarus
@Lazarus:実際には、$関数は呼び出されたときにjQueryオブジェクトを返しますが、ここではそうではありません。 $はJSのすべての関数と同様、オブジェクトであり、独自のプロパティ(つまりajax)を持つことができます。 $( "")を呼び出すときに返されるjQueryオブジェクトには、ajaxプロパティがありません(typeof $。 "と比較してtypeof $(" ")ajaxを試してください) – figha