/ / jQuery елементи кешування, різниця між $ змінною та змінною? - jquery, кешування, змінні

елементи кешування jQuery, різниця між $ змінною та змінною? - jquery, кешування, змінні

Мені було цікаво, чи може хтось пояснити різницю елементів кешування в JQuery. Один із символом долара та один без.

Ось приклад:

var cached = $(".someElement");

var $cached = $(".someElement");

Відповіді:

15 для відповіді № 1

є без різниці. Обидва є кешованими, лише назва змінної відрізняється.

Обидва cached і $cached дійсні змінні Javascript:

var $message = "Hello";
var message = "Hello";

Синтаксис змінної $ просто використовується часто щоб вказати, що змінна містить об'єкт jQuery, не інший тип (рядок, ціле число, елемент DOM, ...). Це свого роду угорська нотація, але це лише умовність серед програмістів. Нічого не нав'язує JavaScript або jQuery.

Коли люди говорять про кешування змінної jQuery, вони мають на увазі лише робити пошук один раз:

//Like this: cached: search is done once.
var clientSpan = $("#client");
clientSpan.hide();
clientSpan.show();
// ...

//Not like this: uncached
$("#client").hide();
$("#client").show();
// ...

4 для відповіді № 2

The $ префікс використовується для позначення того, що змінна містить об'єкт jQuery. Щодо коду різниці немає, обидва елементи у вашому прикладі тепер містяться в об’єкті jQuery, усередині кожної змінної.

Наприклад:

var myVariable = $("#myElement").text(); // string
var $myVariable = $("#myElement"); // jQuery object