Например, когда Вы используете jQuery('someDiv');
, это - функция, но можно также использовать jQuery.ajax(...);
.
Как это возможно?
В JavaScript функции сами по себе являются объектами.
var x = function () {};
x.foo = "bar";
console.log(x.foo); // bar
РЕДАКТИРОВАТЬ:
Чтобы добавить к этому:
var x = function () {
return 'foo';
};
x.bar = function () {
return 'baz';
};
Итак, теперь:
console.log(x()); // foo
console.log(x.bar()); // baz
Я считаю, что в примере .ajax используется архитектура подключаемого модуля jQuery. Я думаю, что возможности AJAX в jQuery - лишь один из многих плагинов, которые вы могли бы использовать.
Символ '$', который использует see, также является псевдонимом для вызова jQuery.
Последнее наблюдение jQuery определяется как (из jquery-1.4.2.js):
var jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context );
},
, а Ajax выглядит так:
jQuery.extend({
...some other goodness...
ajax: function( origSettings )
...more goodness...
});