重複の可能性:
jQueryはオブジェクトや関数のようにどのように動作しますか?
jqueryでは、$を関数および名前空間として使用できます。たとえば、これらのユースケースは両方とも有効です。
$("div").html("<b>Wow!</b> Such excitement...");
var trimmed = $.trim(someString);
1つの識別子$が、オブジェクトとしてだけでなく関数としても同時に機能するにはどうすればよいでしょうか。
重複の可能性:
jQueryはオブジェクトや関数のようにどのように動作しますか?
jqueryでは、$を関数および名前空間として使用できます。たとえば、これらのユースケースは両方とも有効です。
$("div").html("<b>Wow!</b> Such excitement...");
var trimmed = $.trim(someString);
1つの識別子$が、オブジェクトとしてだけでなく関数としても同時に機能するにはどうすればよいでしょうか。
まず最初に: jQuery
(またはそのエイリアス$
) は関数です。関数は JavaScript の「第一級」オブジェクトであるため、これは非常に重要です。それらはそれ自体がオブジェクトであるため、他のオブジェクトと同様に、プロパティとメソッドを与えることができます。例えば:
var f = function() {};
f.h = function(x) {
console.log(x);
};
これにより、jQuery はその魔法を働かせることができます。さらに、継承を使用することで、最初の例で示したようにメソッドをチェーンする可能性があります。は、その値に基づいて (技術的には) jQueryの$(selector)
「インターフェース」を返します。[object Object]
selector
.html
.css
.toggle
そうではない。
$
関数のみです。
関数はその一部として他の関数を持つことができるため、使用できるプロトタイプ関数もあります(関数はそれ自体がオブジェクトであるため)。
できるよ:
console.log( Object.getOwnPropertyNames($) );
添付されたすべての関数 (およびプロパティ) を表示します。