iNickolay
@iNickolay

Как реализовано разное обращение к функции в jQuery?

Кто-нибудь может объяснить (желательно с примерами), как реализовано разное обращение к функции $ в jQuery?
Объясню:
Там можно вызвать функцию как объект, и обратиться к его свойствам: $.each()/$.ajax()/etc...
Но так же есть и обращение к функции с параметрами: $('.class').on('click', myHandler)

class Test {
    constructor (selector) { this. element = selector }
    to() { console.log() }
}
let a = function (selector) { return new Test(selector) };
a.test() // not working
let b = new Test;
b.test() // working


Заранее благодарю)
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Как реализовано можно посмотреть. Немного анализа и все вопросы отпадут.

Там можно вызвать функцию как объект, и обратиться к его свойствам

В JavaScript это не возбраняется и повсеместно используется:
function foo() {
  console.log('foo');
}

foo.bar = function() {
  console.log('bar');
}

foo(); // foo
foo.bar(); // bar

Но так же есть и обращение к функции с параметрами

Обращение не к функции, а к результату выполнения функции. $() - это вызов функции. Простой пример:
function $(arg1, arg2, arg3) {
  return [arg1, arg2, arg3];
}

var result = $(1, 2, 3).map(function(el) {
  return el * el;
});

console.log(result); // [1, 4, 9]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы