вар переназначен переопределены сфера принадлежит: область видимости функции;
Пусть переменные, объявленные действительны только в пределах блока, в котором команда пусть, блок области видимости.
Const объявить константу только для чтения, как только заявленное значение константы не может быть изменено.
Портал: https: //www.runoob.com/w3cnote/es6-let-const.html
Сравнение: Область применения: вар: область видимости функции, так что следующее, вар totalPrice глобальный, пусть, сопз область применения блочного уровня, действовать только тогда, когда условия в диапазоне;
= 10. цена вар, вар COUNT = 10; IF (. COUNT> 5) { вар totalPrice = 0,9 * 10; console.log ( `totalPrice вар: totalPrice} {$`); } console.log (totalPrice); // Успехи выход 9 totalPrice здесь является то , что глобальные переменные могут быть доступны
= 10. цена вар, вар COUNT = 10; IF (. COUNT> 5) { пусть totalPrice = 0,9 * 10; в console.log ( `Выпускаемое в totalPrice: чем totalPrice} {$`); } в console.log (totalPrice); // будет ошибка (Uncaught ReferenceError: totalPrice не определен) totalPrice здесь , чтобы переменные блочные, внешний недоступный
Сравнение II: Область применения: Следующий код только тип декларации такие же, поддержка вар переназначить totalPrice будет переназначен, и пусть в totalPrice, первая глобальная переменная, второй блок только действует на стадии, Таким образом, конечный выход 0
была цена = 10; были кол = 10; была полная стоимость = 0; если (число> 5) { были Общая стоимость = 10 * 0,9; console.log ( `была общая цена: $ {Общая стоимость}«); // 9 } console.log (полная стоимость); // 9
вар цена = 10; Количество вар = 10; пусть totalPrice = 0; если (число> 5) { пусть totalPrice = 10 * 0,9; console.log ( `пусть totalPrice: $ {totalPrice}`); // 9 } console.log (totalPrice); // 0
Сравнение три: вар, пусть, сопзИте: определить, назначить, как разницу, когда целевая сопзЬ нота, хотя он не может быть переназначен, он может изменить свое значение атрибута
имя = вар "ВС"; имя вара = "Sun2"; // может быть переопределен именем = "Липин"; // можно переназначить console.log ( `имя вара: $ { имя}`); // переменные имя: Липин Выпускаемое Age = 10; // Возраст = 20 является пусть // неправильно, не может быть переопределен возраст = 22; // может быть переназначен console.log ( `пусть возраст: $ { возраст}`); / / ЛПЭ Возраст: 22 Const Пол = «женщина»; // Const Пол = «М»; // неправильно, не может быть переопределен // секс = «мужчина»; // неправильно, не может быть переназначен console.log ( `константные секс: $ {секс }`); // F
Четвертый пункт: изменить атрибуты управления:
Продукт = {сопз название: "телефон" цена:. 5999 }; // можно изменять атрибуты продукта. Цена = 8999;. В console.log (JSON.stringify (Product)); // { "имя": "телефон", " . цена ": 8999 } // если вы не хотите , чтобы изменить продукт будет замерзать метод :( используется , чтобы заморозить цель) сопзЬ = product2 Object.freeze ({ имя:" телефон», цена:. 5999 }); . product2 . цена = 9999; Console. войти (JSON.stringify (product2)); // { "имя": " телефон", "цена" . : 5999 }
В-пятых: подробности самого процесса применения
для ( вар я = 0; I <5;. Я ++) { console.log (вар `Я IS $` {Я}); // это вывод 0,1,2,3,4 (функция SetTimeout () { Консоль .log ( `вар я составляет $ { я}`); // это будет выход 5. 5 }, 1000); } console.log (I IS $ `` {Я}); // выход 5 будет console.log ( `--------------- решения SetTimeout цифровой выход 0-4 ------------------------- `-----); для ( Выпускаемое I = 0; I <5;. I ++) { в console.log (` ЛПЭ I IS $ `{I}); // это выход 0,1,2,3, . 4 SetTimeout (функция () { console.log ( `ЛПЭ I IS $` {I}); // это выход 0,1,2,3,4 }, 1000); }
Шестое: Тот же анализ: выполнения способа, когда [1], я = 3 имеет, поэтому выход 3 есть, если вы хотите изменить тип выходного сигнала можно позволить 2,3
вар а = []; для (вар я = 0; г <3; я ++) { а [I] = функция () {console.log (я)} } а [1] (); // 3 а [2] (); // 3
Седьмой: когда элементы уровня блока
10 = вар; (. 1) , если { а = 100; // если элемент уровня блока , содержащий пусть декларации, к заданию, только чтобы найти блок в текущем console.log (а); // поэтому дано здесь будет пусть а = . 1; console.log (А); }
Восьмой: Переменный лифт:
console.log (ABC); // не определено, переменная лифт, фактический парсинг: вар ABC, а console.log (ABC) ABC = 10; вар ABC = 10; // Console (NUM); // быть неправильно пусть Num = 10; //console.log(filename);// неправильно Const имя файла = "abc.txt";
Написанное в последнем: больше, чем просто направление для использования, Baidu будет иметь возможность легко понять, следовать принципу дальнейшего изучения