5

作業中のアプリケーション用に独自のミニフレームワークを開発しているところです。jQueryがコード化されていることを研究しています。

$(selector).function()の動作はわかりますが、次のような関数を呼び出すことができるのはなぜですか。

$ .ajax()

確かに、これはドル記号が関数とjquery.fnオブジェクトの両方を同時に参照することでしょうか?

前もって感謝します!

4

2 に答える 2

8

関数はJavaScriptのオブジェクトであるため、プロパティを持つことができます。

$jQueryオブジェクトは$()、コンストラクターとして使用される場合に使用されます(魔法が含まれているためnew、必要ありません)。ただし、次のように使用できる多くのメソッド(およびなどの呼び出し不可能なプロパティ$.browser)も含まれています。$.something

于 2012-06-18T18:04:08.230 に答える
5

http://jsfiddle.net/vZvgv/1/

var $ = function(str) {
    document.write(str+'<br />');
}

$.ajax = function(str) {
    document.write(str+'<br />');
}

$.answer = 42;

$('dollar');
$.ajax('ajax');
document.write($.answer);
于 2012-06-18T18:15:47.687 に答える