Вот как я решил это в своем приложении. В идеале вы должны использовать 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 выше вместо конкретных чисел помогает много, если вы решите изменить запрос позже.
Очень общее использование в 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, которые имеют другой набор свойств.
В то время как можно просто использовать его для добавления префикса идентификаторов, это, как предполагается, используется для сгенерированного кода, такого как заменяющие маркеры в шаблоне, например.
Поскольку другие упомянули, что знак доллара предназначается, чтобы использоваться механически сгенерированным кодом. Однако то соглашение было повреждено некоторыми дико популярными библиотеками JavaScript. JQuery, Прототип и Ajax MS (иначе Атлас) все использование этот символ в их идентификаторах (или как весь идентификатор).
Короче говоря можно использовать $
каждый раз, когда Вы хотите. (Интерпретатор не будет жаловаться.) Вопрос состоит в том, когда делают Вас , хотят использовать его?
я лично не использую его, но я думаю, что его использование допустимо. Я думаю, что Ajax MS использует его, чтобы показать, что функция является псевдонимом еще для некоторого подробного вызова.
, Например:
var $get = function(id) { return document.getElementById(id); }
, Который походит на разумное соглашение.
В 1-м, 2-м, и 3-му Выпуску ECMAScript, с помощью $ - снабженные префиксом имена переменной явно препятствовала спецификация кроме контекста автоматически сгенерированного кода:
знак доллара (
$
) и подчеркивание (_
) разрешен где угодно в идентификаторе. Знак доллара предназначается для использования только в механически сгенерированном коде.
Однако в следующей версии ( 5-й Выпуск , который является текущим), это ограничение было отброшено, и вышеупомянутый проход, замененный [1 111]
, знак доллара (
$
) и подчеркивание (_
) разрешен где угодно в IdentifierName.
По сути, знак $ может теперь использоваться свободно в именах переменной. Определенные платформы и библиотеки имеют свои собственные соглашения по значению символа, отмеченного в других ответах здесь.
Символ $ не имеет особого значения для механизма JavaScript. Это просто еще один допустимый символ в имени переменной, например az, AZ, _, 0-9 и т. Д.
Стево прав, значение и использование знака доллара в сценарии (в 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 $$$$$"); }
Все приведенные выше примеры будут работать.
Попробуйте их.