2011-01-29 4 views
6

私はそれをどこでも見つけることができます。

function($) { 
    $.test = { some code } 
} 

これは何を意味しますか?

答えて

7

あなたは、関数を呼び出すには二つの方法の間で部門としてjQueryのコードを考える必要があります。選択の

  1. 方法。これは、標準の "いくつかの要素を見つけ、それらで何かをする"技法です。 $('p').val()$('div').prepend()などのコードです。
  2. 選択なしのメソッドです。これらは、関数を呼び出す前に選択を行う必要のない関数です。これらは、$.ajax,$.param$.eachのような機能です。便宜上、それらはjQueryライブラリであるグローバル変数$のプロパティです。多くの場合、jQuery固有のものではありませんが、ライブラリに含めるのに便利なコードです。
+0

それに釘付け。私は$( 'selector')のようなものだけを書いていた。do_something。 $ .stuffがjqueryオブジェクト用の新しいメソッドを作成することは私には明らかです。 –

9

$は他の変数と同じように考えてください。 jQueryの場合はjQueryオブジェクトですが、かなり強力です。しかし、他の変数と同じです。たとえば、あなたが望むのであれば、あなた自身の$を書くことができます。

これは異例の変数名ですが、それについては何も魔法はありません。 .somethingは、変数$の単なるプロパティです。変数名が$であることを除いて、obj.somethingを書くことと変わりありません。

JavaScriptで変数名として使用できるその他の英数字以外の文字は、_(アンダースコア)です。それはunderscore.jsのようないくつかの他のライブラリで使用されています。しかし、再び、_の使用について特別なことはありません。

+0

'$'は、他のさまざまな言語の変数に使用される標準です。それについて何も魔法はありません。 – Raynos

+0

私は前に$変数を見たことがありましたが、それだけで$を見たのは初めてでした。 –

+0

'$'が_chicken_か_egg _wwwかどうか分かりませんが、JSを作る '$'だけではないかと疑問に思っています。迷惑をかけている "。 –

4

$変数はjQueryオブジェクト/ 'namespace'のエイリアスです。したがって、$.function()が表示されたら、実際にはjQueryオブジェクトで 'function'という名前のメソッドを呼び出しています。あなたのサンプルコードでは、testという名前のオブジェクトがjQueryオブジェクトにアタッチされています。 $.test = function() { }を書いた場合は、オブジェクトではなく関数(メソッド)をアタッチします。

関連する問題