Почему переменная JavaScript начинается со знака доллара?

Вот как я решил это в своем приложении. В идеале вы должны использовать StringBuilder вместо использования + для строк.

    String inParenthesis = "(?";
    for(int i = 1;i < myList.size();i++) {
      inParenthesis += ", ?";
    }
    inParenthesis += ")";

    try(PreparedStatement statement = SQLite.connection.prepareStatement(
        String.format("UPDATE table SET value='WINNER' WHERE startTime=? AND name=? AND traderIdx=? AND someValue IN %s", inParenthesis))) {
      int x = 1;
      statement.setLong(x++, race.startTime);
      statement.setString(x++, race.name);
      statement.setInt(x++, traderIdx);

      for(String str : race.betFair.winners) {
        statement.setString(x++, str);
      }

      int effected = statement.executeUpdate();
    }

Использование переменной типа x выше вместо конкретных чисел помогает много, если вы решите изменить запрос позже.

982
задан Yi Jiang 24 September 2011 в 05:47
поделиться

6 ответов

Очень общее использование в jQuery должно отличить объекты jQuery, хранившие в переменных от других переменных. Например, я определил бы

var $email = $("#email"); // refers to the jQuery object representation of the dom object
var email_field = $("#email").get(0); // refers to the dom object itself

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

1365
ответ дан jonstjohn 24 September 2011 в 16:47
поделиться
  • 1
    Предупреждение говорит, что что-то делается неправильно. Просто подавление его является действительно плохой идеей. – Tom Hawtin - tackline 29 September 2009 в 16:59

В то время как можно просто использовать его для добавления префикса идентификаторов, это, как предполагается, используется для сгенерированного кода, такого как заменяющие маркеры в шаблоне, например.

0
ответ дан Ryan Abbott 24 September 2011 в 05:47
поделиться

Поскольку другие упомянули, что знак доллара предназначается, чтобы использоваться механически сгенерированным кодом. Однако то соглашение было повреждено некоторыми дико популярными библиотеками JavaScript. JQuery, Прототип и Ajax MS (иначе Атлас) все использование этот символ в их идентификаторах (или как весь идентификатор).

Короче говоря можно использовать $ каждый раз, когда Вы хотите. (Интерпретатор не будет жаловаться.) Вопрос состоит в том, когда делают Вас , хотят использовать его?

я лично не использую его, но я думаю, что его использование допустимо. Я думаю, что Ajax MS использует его, чтобы показать, что функция является псевдонимом еще для некоторого подробного вызова.

, Например:

var $get = function(id) { return document.getElementById(id); }

, Который походит на разумное соглашение.

57
ответ дан Wesley Murch 24 September 2011 в 05:47
поделиться

В 1-м, 2-м, и 3-му Выпуску ECMAScript, с помощью $ - снабженные префиксом имена переменной явно препятствовала спецификация кроме контекста автоматически сгенерированного кода:

знак доллара ($) и подчеркивание (_) разрешен где угодно в идентификаторе. Знак доллара предназначается для использования только в механически сгенерированном коде.

Однако в следующей версии ( 5-й Выпуск , который является текущим), это ограничение было отброшено, и вышеупомянутый проход, замененный [1 111]

, знак доллара ($) и подчеркивание (_) разрешен где угодно в IdentifierName.

По сути, знак $ может теперь использоваться свободно в именах переменной. Определенные платформы и библиотеки имеют свои собственные соглашения по значению символа, отмеченного в других ответах здесь.

238
ответ дан Mark Amery 24 September 2011 в 05:47
поделиться

Символ $ не имеет особого значения для механизма JavaScript. Это просто еще один допустимый символ в имени переменной, например az, AZ, _, 0-9 и т. Д.

7
ответ дан 19 December 2019 в 20:21
поделиться

Стево прав, значение и использование знака доллара в сценарии (в Javascript и платформе jQuery, но не в PHP) полностью семантический. $ - это символ, который можно использовать как часть имени идентификатора. Кроме того, знак доллара - это, пожалуй, не самая «странная» вещь, с которой вы можете столкнуться в Javascript. Вот несколько примеров правильных имен идентификаторов:

var _       = function() { alert("hello from _"); }
var \u0024  = function() { alert("hello from $ defined as u0024"); }
var Ø       = function() { alert("hello from Ø"); }
var $$$$$   = function() { alert("hello from $$$$$"); }

Все приведенные выше примеры будут работать.

Попробуйте их.

21
ответ дан 19 December 2019 в 20:21
поделиться
Другие вопросы по тегам:

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