url="jdbc:postgresql//localhost:5432/mmas"
Этот URL-адрес выглядит неправильно, вам нужно следующее:
url="jdbc:postgresql://localhost:5432/mmas"
Очень распространенное использование в 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, которые имеют другой набор свойств.
Поскольку _
в начале имени переменной часто используется для указания частной переменной (или, по крайней мере, одной из них, которая должна оставаться закрытой), я нахожу $
удобным для добавления перед моими собственными краткими псевдонимами к родовым (g1) Например, при использовании jQuery я предпочитаю использовать переменную $J
(вместо $
) и использовать $P
при использовании php.js и т. д.
Префикс делает его визуально отличным от других переменных, таких как мои собственные статические переменные, заставляя меня понимать, что этот код является частью какой-либо библиотеки или другой, и с меньшей вероятностью конфликтует или путает других, когда они знают соглашение .
Он также не загромождает код (или требует дополнительной настройки), так как полностью указанное имя повторяется для каждого вызова библиотеки.
Мне нравится думать, что это похоже на к тем, какие ключи-модификаторы делают для расширения возможностей отдельных ключей.
Но это только мое собственное соглашение.
${varname}
- это просто соглашение об именах, которое разработчики jQuery используют для выделения переменных, которые содержат элементы jQuery.
Обычная {varname}
используется для хранения общих материалов, таких как тексты и строки. ${varname}
содержит элементы, возвращаемые из jQuery.
Вы можете использовать plain {varname}
для хранения элементов jQuery, но, как я сказал в начале, это отличает его от простых переменных и упрощает понимайте (представьте себе, что это путаница для простой переменной и все вокруг, чтобы понять, что она держит).
Например:
var $blah = $(this).parents('.blahblah');
Здесь blah хранит возвращаемый элемент jQuery.
Итак, когда кто-то еще видит $blah
в коде , они поймут, что это не просто строка или число, это элемент jQuery.
Использование угловых для свойств, генерируемых каркасом. Угадайте, что они идут по (теперь несуществующей) подсказке, предоставленной ECMA-262 3.0.
В 1-м, 2-м и третьем выпусках ECMAScript использование переменных $ -prefixed переменных явно не поощрялось спецификацией, за исключением контекста автогенерированного кода:
Знак доллара (
blockquote>$
) и символ подчеркивания (_
) разрешены в любом месте идентификатора. Знак доллара предназначен для использования только в механически сгенерированном коде.Однако в следующей версии ([1] 5th Edition , которая является текущей), это ограничение было , а приведенный выше фрагмент заменен на
Знак доллара (
blockquote>$
) и знак подчеркивания (_
) разрешены в любом месте в IdentifierName .Таким образом, знак $ теперь может свободно использоваться в именах переменных. Определенные структуры и библиотеки имеют свои собственные условные обозначения о значении символа, отмеченные в других ответах здесь.
$variable
, вероятно, потому, что он содержит весь объект jQuery.
– rinogo
24 March 2016 в 20:36
Стево прав, смысл и использование знака долларового скрипта (в 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 $$$$$"); }
Все приведенные выше примеры будут работать.
Попробуйте их.
Я был человеком, который создал эту конвенцию еще в 2006 году и продвинул ее в раннем списке рассылки 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
Но это не очень хорошо иллюстрирует это. Даже без $
у нас все еще есть два разных имени переменной: email
и email_field
. Там много хорошего. Зачем нам нужно бросать $
в одно из имен, когда у нас уже есть два разных имени?
На самом деле, я бы не использовал email_field
здесь по двум причинам: names_with_underscores
не идиоматический JavaScript, а field
на самом деле не имеет смысла для элемента DOM. Но я придерживался той же идеи.
Я пробовал несколько разных вещей, среди которых нечто очень похожее на пример:
var email = $("#email"), emailElement = $("#email")[0];
// Now email is a jQuery object and emailElement is the first/only DOM element in it
(Конечно, объект jQuery может иметь больше чем один элемент DOM, но в коде, над которым я работал, было много селекторов id
, поэтому в этих случаях было соответствие 1: 1.)
У меня был другой случай, когда функция получила DOM в качестве параметра, а также для него нужен объект jQuery:
// email is a DOM element passed into this function
function doSomethingWithEmail( email ) {
var emailJQ = $(email);
// Now email is the DOM element and emailJQ is a jQuery object for it
}
Ну, это немного запутанно! В одном из моих битов кода email
является объектом jQuery, а emailElement
является элементом DOM, а в другом, email
является элементом DOM, а emailJQ
является объектом jQuery.
Не было согласованности, и я продолжал смешивать их. Плюс это было немного неприятно, чтобы иметь возможность составлять два разных имени для одного и того же: один для объекта jQuery и другой для соответствующего элемента DOM. Кроме того, email
, emailElement
и emailJQ
, я продолжал пробовать и другие варианты.
Затем я заметил общий шаблон:
var email = $("#email");
var emailJQ = $(email);
Так как JavaScript обрабатывает $
как просто другое письмо для имен, и поскольку у меня всегда был объект jQuery обратно из вызова $(whatever)
, модель, наконец, осенила меня. Я мог бы принять вызов $(...)
и просто удалить некоторые символы, и это придумает довольно приятное имя:
$
("#email")$
(email)
Strikeout не идеальна, но вы можете получить идею: с некоторыми символы удалены, обе эти строки выглядят так:
$email
Вот тогда я понял, что мне не нужно составлять соглашение, подобное emailElement
или emailJQ
. На меня уже было красивое соглашение: возьмите несколько символов из вызова $(whatever)
, и он превратится в $whatever
.
var $email = $("#email"), email = $email[0];
// $email is the jQuery object and email is the DOM object
и:
// email is a DOM element passed into this function
function doSomethingWithEmail( email ) {
var $email = $(email);
// $email is the jQuery object and email is the DOM object
// Same names as in the code above. Yay!
}
Поэтому мне не приходилось составлять два разных имени все время, но просто можно использовать одно и то же имя с префиксом $
или без него. Префикс $
был хорошим напоминанием о том, что я имел дело с объектом jQuery:
$('#email').click( ... );
или:
var $email = $('#email');
// Maybe do some other stuff with $email here
$email.click( ... );
Как я уже говорил в течение последних 4 лет, это позволит кому-то легко определить, указывает ли переменная, указывающая значение / объект или обернутый jQuery элемент DOM
Ex:
var name = 'jQuery';
var lib = {name:'jQuery',version:1.6};
var $dataDiv = $('#myDataDiv');
в приведенном выше примере, когда я вижу переменную «$ dataDiv», я могу легко сказать, что эта переменная указывает на обернутый jQuery элемент DOM (в данном случае это div). а также я могу вызвать все методы jQuery, не обматывая объект снова, как $ dataDiv.append (), $ dataDiv.html (), $ dataDiv.find () вместо $ ($ dataDiv) .append ().
Надеюсь, это может помочь. поэтому, наконец, хочу сказать, что будет хорошей практикой следовать этому, но не обязательно.
Причина, по которой я иногда использую условные обозначения php с переменными javascript: при выполнении проверки ввода я хочу использовать те же алгоритмы как на стороне клиента, так и на стороне сервера. Я действительно хочу, чтобы обе стороны кода выглядели как можно более похожими, чтобы упростить обслуживание. Использование знаков доллара в именах переменных делает это проще.
(Кроме того, некоторые разумные вспомогательные функции помогают сделать код похожим, например, обертывание ввода-значения-запросов, не-OO-версий strlen, substr и т. Д. Это все еще требует некоторой ручной настройки, хотя.)
Действительный идентификатор JavaScript shuold должен начинаться с буквы, подчеркивания (_) или знака доллара ($); последующие символы также могут быть цифрами (0-9). Поскольку JavaScript чувствителен к регистру, буквы включают символы «A» - «Z» (верхний регистр) и символы «a» - «z» (строчные буквы).
Подробности: https: // developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Variables
Если вы видите знак доллара ($) или знак двойного доллара ($$) и интересуетесь тем, что это означает в структуре Prototype, вот ваш ответ:
$$('div');
// -> all DIVs in the document. Same as document.getElementsByTagName('div')!
$$('#contents');
// -> same as $('contents'), only it returns an array anyway (even though IDs must be unique within a document).
$$('li.faux');
// -> all LI elements with class 'faux'
Источник : http://www.prototypejs.org/api/utility/dollar-dollar
Хотя вы можете просто использовать его для префикса своих идентификаторов, он должен использоваться, например, для сгенерированного кода, например, для маркеров замены в шаблоне.
В контексте AngularJS префикс $
используется только для идентификаторов кода фрейма. Пользователям фреймворка дается указание не использовать его в своих идентификаторах:
Угловые пространства имен
$
и$$
Чтобы предотвратить случайные столкновения имен с вашим кодом, Угловые префиксы имен общедоступных объектов с
blockquote>$
и именами частных объектов с$$
. Пожалуйста, не используйте префикс$
или$$
в вашем коде.Источник: https://docs.angularjs.org/api
$
. В действительности это показало, что это не проблема, потому что редко, если вообще когда-либо, смешивается код jQuery с угловым кодом. Так что сегодня я не чувствую себя так.
– nilskp
4 May 2014 в 21:30
Символ $ не имеет особого значения для механизма JavaScript. Это просто еще один действительный символ в имени переменной, например a-z, A-Z, _, 0-9 и т. Д. ...
Как уже упоминалось, знак доллара предназначен для использования с помощью механически сгенерированного кода. Однако это соглашение было нарушено некоторыми чрезвычайно популярными библиотеками JavaScript. JQuery, Prototype и MS AJAX (AKA Atlas) используют этот символ в своих идентификаторах (или как полный идентификатор).
Короче говоря, вы можете использовать $
всякий раз, когда захотите. (Переводчик не будет жаловаться.) Вопрос в том, когда вы хотите его использовать?
Я лично его не использую, но думаю, что его использование действительно. Я думаю, что MS AJAX использует его для обозначения того, что функция является псевдонимом для некоторого более подробного вызова.
Например:
var $get = function(id) { return document.getElementById(id); }
Это похоже на разумное соглашение.
$this = $(this)
много! – kroimon 5 December 2011 в 15:56