Когда и почему при использовании jQuery ставить переменные в префикс «$»? [Дубликат]

  

Возможный дубликат:
Почему переменная javascript начинается со знака доллара?

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

73 голоса | спросил elclanrs 2 J0000006Europe/Moscow 2011, 05:25:16

5 ответов


0

Это общая ссылка на обернутый объект jQuery. Это облегчает чтение кода, чтобы узнать, какие переменные упакованы в jQuery.

//Item has been "cached" for later use in the script as a jQuery object.
var $item = $(this);
ответил Scott Harwell 2 J0000006Europe/Moscow 2011, 05:27:20
0

Для меня обычная практика такова:

Если переменная является закрытой, я использую нижнее подчеркивание, например:

(function(){
     var _foo = "bar";
})()

Если это общедоступно, я не буду использовать подчеркивание:

var foo = "bar"

А если это селектор jQuery, я буду использовать $:

var $foo = $('bar');
//then you can access it like this
$foo.attr('id')

Это просто соглашение о кодировании, и оно позволяет быстро ссылаться на тип переменной, которая будет позже в коде.

ответил locrizak 2 J0000006Europe/Moscow 2011, 05:31:54
0

Многие люди, использующие jQuery, будут префиксировать переменные, содержащие объект jQuery, с помощью символа $, чтобы их было легко идентифицировать. Рассмотрим этот пример:

var $img = $(".someclass span.otherclass img");
/* somewhere later in the code */
$img.bind("click", function() {/*...*/});
ответил sanmai 2 J0000006Europe/Moscow 2011, 05:30:01
0

По моему опыту, это просто читабельность. Некоторым разработчикам нравится добавлять префиксы к своим переменным, чтобы их было легко найти. Это также может быть привычка PHP, попадающая в Javascript.

ответил supajb 2 J0000006Europe/Moscow 2011, 05:28:12
0

Знак доллара в коде, который использует JQuery, обычно означает, что рассматриваемая переменная является переменной jQuery (объект, обернутый jquery).

ответил Marino Šimić 2 J0000006Europe/Moscow 2011, 05:30:50

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132