Подтвердить что ты не робот

JQuery: В чем разница между "var test" и "var $test"

в чем разница между этими утверждениями? Я знаю, что "var $test" объявляет переменную jquery, но в чем разница переменной jquery с общей переменной javascript?

4b9b3361

Ответ 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