JavaПеременная скрипта: объявление, присвоение значения с примером
⚡ Умное резюме
JavaПеременные скрипта хранят такие значения, как имена и числа, или результат выражения. Объявление переменной с помощью `var`, `let` или `const` резервирует именованный слот, который остальная часть скрипта может считывать и обновлять.
Переменные используются для хранения значений (имя = «Джон») или выражений (сумма = x + y). Каждое значение, которое скрипт сохраняет для последующего использования — имя пользователя, текущая сумма, флаг «да» или «нет» — хранится в переменной, поэтому правильное объявление и именование переменных — это первый навык, который необходимо освоить. JavaСценарий.
Объявляйте переменные в JavaСценарий
Перед использованием переменной необходимо её объявить. Для объявления переменной следует использовать ключевое слово `var`, например, так:
var name;
Само объявление создает имя и ничего больше. На этом этапе переменная существует, но хранит особое неопределенное значение, поскольку ей еще не было присвоено никакого значения.
⚠️ Примечание к версии: Ключевое слово `var` является исходным ключевым словом объявления и до сих пор работает во всех браузерах. В ES6 (2015) оно было добавлено. позволять и Constкоторые являются ключевыми словами: современный JavaИспользует скрипт. Оба варианта сравниваются с переменной, расположенной ниже на этой странице.
Присвойте значение переменной
Вы можете присвоить значение переменной либо во время объявления переменной, либо после объявления переменной.
var name = "John";
OR
var name; name = "John";
Обе формы приводят к одному и тому же результату. Знак равенства — это... оператор присваивания: это копирует значение справа от себя в переменную слева от себя. Это не проверка на равенство, которая записывается как == или === и относится к условные заявления.
Именование переменных
Хотя вы можете называть переменные как угодно, хорошей практикой программирования является присвоение им описательных и осмысленных имен. Более того, имена переменных должны начинаться с буквы и быть чувствительными к регистру. Поэтому переменные studentname и studentName отличаются, потому что буква n в имени разная (n и N).
Четыре правила определяют, является ли имя вообще законным:
- Первый символ должен быть буквой, знаком доллара или нижним подчеркиванием — ни в коем случае не цифрой.
- После первого символа допускаются буквы, цифры, знаки доллара и символы подчеркивания.
- Пробелы не допускаются, поэтому идея, состоящая из двух слов, объединяется в studentName, а не остается в виде двух слов.
- Зарезервированные слова, такие как var, let, const, class и return, нельзя использовать повторно в качестве имен.
По соглашению JavaВ названиях скриптов используется верблюжий регистр (camelCase), поэтому первое слово пишется строчными буквами, а каждое последующее начинается с заглавной: firstName, totalPrice, isLoggedIn.
Приведённый ниже скрипт объявляет две переменные, применяет к ним пять арифметических операторов и выводит каждый результат на страницу. Попробуйте сами:
<html>
<head>
<title>Variables!!!</title>
<script type="text/javascript">
var one = 22;
var two = 3;
var add = one + two;
var minus = one - two;
var multiply = one * two;
var divide = one/two;
document.write("First No: = " + one + "<br />Second No: = " + two + " <br />");
document.write(one + " + " + two + " = " + add + "<br/>");
document.write(one + " - " + two + " = " + minus + "<br/>");
document.write(one + " * " + two + " = " + multiply + "<br/>");
document.write(one + " / " + two + " = " + divide + "<br/>");
</script>
</head>
<body>
</body>
</html>
var vs let vs const в современном языке JavaСценарий
При этом существовала только переменная var. JavaСкрипт был написан изначально, и у него есть две особенности, которые удивляют новичков: его можно переобъявить без предупреждения, и он игнорирует границы блоков. Для решения обеих проблем были добавлены ключи `let` и `const`. В таблице ниже эти три ключевых слова расположены рядом.
| Поведение | вар | позволять | Const |
|---|---|---|---|
| Объем | Вся функция | Ограждающий блок | Ограждающий блок |
| Может быть переназначен | Да | Да | Нет |
| Может быть повторно объявлен в той же области видимости. | Да | Нет | Нет |
| Значение, необходимое в строке декларации | Нет | Нет | Да |
| Прочитано перед его объявлением | Возвращает undefined | Ошибка ссылки | Ошибка ссылки |
Практически в каждом случае помогает простая привычка: потянитесь Const сначала переключитесь на позволять момент, когда значение действительно должно измениться, например, значение счетчика внутри одного из JavaЦиклы скриптови сохранять переменную для чтения старого кода, а не для написания нового.
Регулируемая высота подъема и перемещение грузов JavaСценарий
Область видимости определяет, какие части скрипта могут видеть переменную. Объявление переменной (var) относится к функции, которая её содержит, поэтому оно выходит за пределы любого блока if или for внутри этой функции. Объявление let или const относится к паре фигурных скобок, в которые оно заключено, и исчезает за их пределами.
function demo() { if (true) { var wide = "visible throughout demo()"; let narrow = "visible only inside these braces"; } console.log(wide); console.log(narrow); }
Первый вызов console.log выводит строку. Второй вызовет ReferenceError, поскольку функция narrow перестаёт существовать после завершения блока if.
Подъемно это вторая половина истории. JavaСкрипт регистрирует каждое объявление в области видимости перед выполнением одной строки этой области видимости. Имя переменной регистрируется и устанавливается в значение undefined, поэтому чтение её на ранней стадии допустимо, но бесполезно. Имя переменной типа let или const регистрируется без значения, а промежуток между верхней частью блока и строкой объявления называется временная мертвая зона.
console.log(a); var a = 1; console.log(b); let b = 2;
Первая строка выводит undefined. Третья строка заканчивается ошибкой «Невозможно получить доступ к 'b' до инициализации» — ошибкой, которая делает let более безопасным, чем var, поскольку она указывает на реальную ошибку, а не скрывает её.
Распространенные ошибки при объявлении JavaПеременные скрипта
В консоли новички, изучающие переменные, видят в основном пять сообщений. Каждое из них указывает на конкретную причину, поэтому решение обычно сводится к одной строке кода.
| Сообщение в консоли | Вызывать | фиксированный |
|---|---|---|
| SyntaxError: Идентификатор 'x' уже объявлен | Операторы let или const используются дважды для одного и того же имени в одном блоке. | Используйте существующую переменную повторно или переименуйте вторую. |
| TypeError: присвоение постоянной переменной | Константе было присвоено новое значение. | Объявляйте переменную с помощью `let`, если значение необходимо изменить. |
| ReferenceError: Невозможно получить доступ к 'x' до инициализации | В пределах временной мертвой зоны считывался ввод let или const. | Переместите строку чтения ниже строки объявления. |
| ReferenceError: x не определен | Название так и не было объявлено, или же оно было написано с ошибкой. | Укажите это или исправьте орфографию и регистр букв. |
| Значение "undefined" появляется там, где ожидалось другое значение. | Переменная была объявлена, но ей так и не было присвоено значение. | Присвойте значение перед первым считыванием. |
Добавление строки «use strict» в начало файла превращает скрытую версию четвертого случая — присваивание значения имени, которое никогда не было объявлено, — в видимую ошибку, поэтому она должна присутствовать в каждом новом скрипте. Те же правила для переменных переносятся без изменений в другие файлы. массивы, объектыи серверный код, написанный для Node.js.
