Подтвердить что ты не робот

Как "jQuery" var является функцией и объектом?

Например, когда вы используете jQuery('someDiv');, это функция, но вы также можете использовать jQuery.ajax(...);.

Как это возможно?

4b9b3361

Ответ 1

В JavaScript сами функции являются объектами.

var x = function () {};
x.foo = "bar";

console.log(x.foo); // bar

EDIT:

Чтобы добавить к этому:

var x = function () {
    return 'foo';
};
x.bar = function () {
    return 'baz';
};

Итак, теперь:

console.log(x()); // foo
console.log(x.bar()); // baz

Ответ 2

Я считаю, что пример .ajax использует архитектуру подключаемого модуля jQuery. Я думаю, что возможности jQuery AJAX - это лишь один из многих плагинов, которые вы могли бы использовать.

Используемый '$' также является просто псевдонимом для вызова 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...
});