в чем разница между этими утверждениями? Я знаю, что "var $test" объявляет переменную jquery, но в чем разница переменной jquery с общей переменной javascript?
JQuery: В чем разница между "var test" и "var $test"
Ответ 1
Ничего. Нет разницы. $является допустимым символом в идентификаторе JavaScript, но не имеет особого значения. Фактически, в спецификации ECMAScript 3 в разделе 7.6 говорится, что
Знак доллара ($) и символ подчеркивания (_) разрешены в любом месте идентификатор. Знак доллара предназначенный для использования только механически сгенерированный код.
... хотя события теперь, вероятно, сделали эту рекомендацию устаревшей. Действительно, недавняя спецификация ECMAScript 5 исключает последнее предложение.
Ответ 2
$test
- это соглашение, используемое для указания того, что эта переменная является объектом jQuery, и вы можете вызывать стандартные функции на ней, а test
может быть стандартным элементом DOM, и вы не можете вызвать функцию val
на нем для пример.
Например:
var $test = $('#someId');
var test = document.getElementById('#someId');
Вы можете сделать $test.text();
, но вы не можете сделать test.text();
Ответ 3
нет разницы между var $test
и var test
. но всегда полезно знать, какие данные находятся в вашей переменной: (например, если кто-то просто хочет изменить функцию в вашем коде без необходимости читать или использовать console.log, чтобы узнать, что в нем)/p >
вот несколько примеров:
var arrTest = [1, 2, a, b, c], //Array
objTest = {test: 1, test2: 2}, //Object
strTest = "test", //String
intTest = 4, //integer
$test = $("#test") //jqueryObject
но он также будет работать следующим образом
var Test1 = [1, 2, a, b, c], //Array
test2 = {test: 1, test2: 2}, //Object
Test3 = "test", //String
Test4 = 4, //integer
$test = $("#test") //jquery Object
Я думаю, что вас смущает форма jQuery $()
.
Jquery - это в основном функция, установленная в имени переменной $
:
var $ = function(e){ // the jquery magic }
но вы можете использовать $somethingelse
как переменную.
Ответ 4
Попробуйте критиковать JQuery.
Различия между встроенным javascript и каркасом вроде JQuery - это zip - он существует.
Если вы хотите освоить javascript - пропустите JQuery.
Я использую GMap из-за его функций - я не могу самостоятельно развивать функциональность GMap.
Но JQuery и extJS просто предлагают структуру - нет funtionallity, которую вы не можете сделать сами.
Mike