2.4 KiB
2.4 KiB
id, title, challengeType, videoUrl, forumTopicId, dashedName
id | title | challengeType | videoUrl | forumTopicId | dashedName |
---|---|---|---|---|---|
56533eb9ac21ba0edf2244bf | Локальна область видимості та функції | 1 | https://scrimba.com/c/cd62NhM | 18227 | local-scope-and-functions |
--description--
Змінні, що є зазначені в межах функції, мають діапазон local, так як і параметри функції. Це означає, що вони є видимими лише в межах цієї функції.
Це функція myTest
з локальною змінною loc
.
function myTest() {
const loc = "foo";
console.log(loc);
}
myTest();
console.log(loc);
Виклик функції myTest()
відображатиме рядок foo
в консолі. Рядок console.log(loc)
видасть помилку, тому що loc
не є визначеним за діапазоном функції.
--instructions--
Редактор має два console.log
щоб допомогти вам побачити, що відбувається. Позначте консоль як ваш код, щоб побачити як вона змінюється. Зазначте локальну змінну e myVar
всередині myLocalScope
і запустіть тест.
Консоль Note: все ще відображатиме ReferenceError: myVar is not defined
, але це не спричинить збій тестувань.
--hints--
Код не повинен містити глобальну змінну myVar
.
function declared() {
myVar;
}
assert.throws(declared, ReferenceError);
Вам слід додати локальну змінну myVar
.
assert(
/functionmyLocalScope\(\)\{.*(var|let|const)myVar[\s\S]*}/.test(
__helpers.removeWhiteSpace(code)
)
);
--seed--
--seed-contents--
function myLocalScope() {
// Only change code below this line
console.log('inside myLocalScope', myVar);
}
myLocalScope();
// Run and check the console
// myVar is not defined outside of myLocalScope
console.log('outside myLocalScope', myVar);
--solutions--
function myLocalScope() {
// Only change code below this line
let myVar;
console.log('inside myLocalScope', myVar);
}
myLocalScope();
// Run and check the console
// myVar is not defined outside of myLocalScope
console.log('outside myLocalScope', myVar);