1. Переменные
Переменные ECMASCRIPT являются свободными переменными. Так называемые свободные переменные означает, что имя переменной может содержать любой тип данных. Каждая переменная является просто заполнителем для сохранения значения.
Определение: var FirstDemo;
2. Объем переменных
2.1 Основная концепция
Используйте VAR, чтобы определить переменные: определить локальные переменные, которые определяют область сферы переменной. Этот метод определения переменных также является явным объявлением.
Если вы этого не понимаете, вы можете взглянуть на следующий простой и грубый пример:
Кода -копия выглядит следующим образом:
тест();
функциональный тест () {
var firstdemo = "hello"; // определить локальные переменные
Alert (FirstDemo); // Привет
}
тест();
функциональный тест () {
var firstdemo = "hello"; // определить локальную переменную первое место
}
Alert (FirstDemo); // Сообщить об ошибке, FirstDemo не определяется
Из двух вышеупомянутых примеров, если переменная определяется с использованием VAR в функции, переменная будет уничтожена после выхода функции.
Опустите var, чтобы определить переменные: до тех пор, пока функция, которая определяет переменную, называется один раз, переменная может быть доступна во всем мире. Этот метод определения переменных также является неявным объявлением
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
тест();
предупреждение (FirstDemo); //привет
функциональный тест () {
FirstDemo = "Hello";
}
</script>
Советы: Явно объявленная переменная уже составлена в вызывающий объект при предварительном комплектации (например, var t = 1; var t = 1 при предварительном комплектации; t = 1 при интерпретации;) В отличие от неявно объявленных переменных, которые определяются как глобальные переменные только при интерпретации.
Выяснение объема переменных может помочь нам подумать о том, как разумно объявить переменные, что не только уменьшает ненужные накладные расходы на память, но и значительно избегает проблемы, вызванных повторяющимися определениями переменных и перезаписывающих ранее определенных переменных.
2.2 Анализ области
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
Функция демофункции (s) {
document.writeln (ы)
}
var i = 0; // определить глобальную переменную
функциональный тест () {
демофункция (i);
функция innerfunction () {
var i = 1; // Определите локальные переменные
демофункция (i);
}
innerFunction ();
демофункция (i);
}
тест();
</script>
Результат вывода: 0 1 0
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
Функция демофункции (s) {
document.writeln (ы)
}
var i = 0;
функциональный тест () {
демофункция (i);
функция innerfunction () {
демофункция (i);
var i = 1;
демофункция (i);
}
innerFunction ();
демофункция (i);
}
тест();
</script>
Результат вывода:
A, 0 0 1 0
B, 0 не определен 1 0
C, 0 Ошибка I не определена
Вы можете догадаться, какой из них является результатом, и причина будет подробно объяснена в сообщении.
Выше всего об этой статье. Проще говоря, объем переменных на любом языке программирования является очень важной детализацией. Объем переменных в JS является относительно свободным, чем у языков, таких как Java и C. Большая особенность заключается в том, что переменные JS не имеют сфера действия блока, а переменные в функциях действительны во всей функции.