Я долго задавался вопросом, как jQuery может быть и функцией, и свойством объекта.
Вы можете использовать его как функцию, jQuery (...), и можете использовать его каксвойство jQuery.ajax (...)
Как вы можете достичь такого в Javascript?
функции являются объектами в JavaScript.Таким образом, вы можете иметь свою основную функцию
var $ = function() { alert('wat'); }
, а затем расширить ее
$.fadeTo = function() { alert('fadeto'); }
Поскольку в JavaScript функции - это объекты, которые могут иметь свойства:
function test() { ... } test.a = function () { ... }; test.a(); // totally valid
Я думаю, что концепция jQuery с точки зрения концепций кода довольно запутанная.Я наткнулся на эту ссылку, которая объясняет архитектуру jQuery очень просто и легко: http://blog.mikecouturier.com/2010/02/beginning-with-jquery-solid-foundation_22.html
Итак, вкратце, $ - это псевдоним для функции JavaScript, называемой 'jQuery', и методов, вызываемыхиспользование точечной нотации, такой как $ .trim (), является статическим методом в функции jQuery для JavaScript.Обратите внимание, что функция наследуется от объекта в JavaScript, и поэтому функция является объектом в JavaScript.