- Давайте применим вам пример:
function checkScope() {
var i = 'function scope';
if (true) {
i = 'block scope';
console.log('Block scope i is: ', i);
}
console.log('Function scope i is: ', i);
return i;
}
console.log(checkScope()); will display Block scope i is: block scope Function scope i is: block scope block scope
- Давайте исправим код, чтобы я заявил в заявлении, является отдельной переменной, чем я объявил в первой строке функции. Просто убедитесь, что не использовать ключевое слово var в любом месте в вашем коде.
function checkScope() {
let i = 'function scope';
if (true) {
let i = 'block scope';
console.log('Block scope i is: ', i);
}
console.log('Function scope i is: ', i);
return i;
}
console.log(checkScope()); will display Block scope i is: block scope Function scope i is: function scope function scope
Эта задача предназначена для того, чтобы показать разницу между тем, как var и позволять ключевым словам назначать объем объявленной переменной. При программировании функции, аналогичной использованной в этом упражнении, часто лучше использовать различные имена переменной, чтобы избежать путаницы.
Оригинал: «https://dev.to/rthefounding/compare-scopes-of-the-var-and-let-keywords-721»