例1と2は完全に異なります。jQueryはjavascriptであるため、関数の定義は同じです。
$(function(){...
$(document).ready(function(){...
例1が実際に。と呼ばれる新しい関数を生成している間、これは単なる省略形ですadd
。
ready
次のような関数内にadd関数を作成できます。
$(function(){
function add(){
var foo = 1;
}
});
jQueryは、javascriptとは異なる定義と構文を持つ別個の新しい言語ではなく、javascriptの構文と定義を使用してjavascriptで記述されたツールキットです。
jQuery自体を単なる大きな関数、$として定義された関数と考えてください...したがって、function add(){}
jqueryの代わりに$と呼ばれる関数function $(){}
です。また、通常のjavascript関数と同じ構文でjQuery引数を渡します。
function add(arg){
//do something with arg
}
add('#elem');
function $(arg){
//do something with arg
}
$('#elem');
分かりますか?jQueryは非常に複雑な関数であり、さまざまな種類の引数を渡すことができ、多くの便利なツールを返します。しかし、構文はであり、定義は従来のjavascriptと同じです。
function add(arg){
var added = arg + 12;
return this.alertAdded = function(){
alert(added);
}
}
add(30).alertAdded(); // will alert 42
//vs
$('#elem').fadeOut(); // same syntax but referring to very different functionality.
これは、jQueryish構文の例です。通常のプレーンな古いJSです。