freeCodeCamp/guide/russian/certifications/javascript-algorithms-and-d.../basic-javascript/global-scope-and-functions/index.md

2.1 KiB
Raw Blame History

title localeTitle
Global Scope and Functions Глобальная область и функции

Глобальная область и функции

Объем переменной - ее видимость; где в коде функция доступна? Вот список различных областей, которые может иметь переменная.

  • Глобальная область : переменная доступна во всем коде
  • Локальная область : доступна только в определенной области (например, только внутри функции)
  • Область блока : доступна в еще более определенной области (например, if-statement)

Ваша задача - понять, как добавление var (а не добавление) перед именем переменной может изменить область переменной.

Когда вы добавляете var перед именем переменной, его область определяется по месту ее размещения. Вот так:

var num1 = 18; // Global scope 
 function fun() { 
  var num2 = 20; // Local (Function) Scope 
  if (true) { 
    var num3 = 22; // Block Scope (within an if-statement) 
  } 
 } 

Когда вы этого не сделаете, это результат:

num1 = 18; // Global scope 
 function fun() { 
  num2 = 20; // Global Scope 
  if (true) { 
    num3 = 22; // Global Scope 
  } 
 } 

Хорошо, вот основное решение для кода.

// Declare your variable here 
 var myGlobal = 10; 
 
 function fun1() { 
  oopsGlobal = 5; 
 
 } 
 
 // Only change code above this line 
 function fun2() { 
  var output = ""; 
  if (typeof myGlobal != "undefined") { 
    output += "myGlobal: " + myGlobal; 
  } 
  if (typeof oopsGlobal != "undefined") { 
    output += " oopsGlobal: " + oopsGlobal; 
  } 
  console.log(output); 
 }