Files

2.4 KiB
Raw Permalink Blame History

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);