2

ajax はソースのどこで定義されており、どのように jQuery オブジェクトにバインドされていますか?

私はそれを検索して、5993 という名前の内部で見つけました。

jQuery.extend({

ここで、fn はプロトタイプのエイリアスです。

Jquery は、呼び出し時に ajax() を見つけることをどのように認識していますか。より一般的には、拡張機能はどのように機能しますか?

http://api.jquery.com/jQuery.ajax/

http://code.jquery.com/jquery-latest.js

4

1 に答える 1

3

このextendメソッドは、あるオブジェクトから別のオブジェクトにプロパティをコピーします。引数を 1 つだけ指定すると、プロパティが にthisコピーされるため、この場合はプロパティがfnオブジェクト自体にコピーされます。

私の 1.7.1 コードのコピーを編集すると、「ajax」メソッドは実際にはjQuery.extend()ではなくによってコピーされjQuery.fn.extend()ます。これは同じ機能です。extendjQuery オブジェクトと「fn」オブジェクト (内部コンストラクター関数) の両方にバインドされます。jQuery.extend({ ... })したがって、呼び出されると、プロパティは jQuery オブジェクト (関数) 自体にコピーされます。

于 2012-09-25T22:09:05.253 に答える