JavaScript'теги жалпы өзгөрмөлөр жана функциялардын параметрлери

Бизде санды параметр катары кабыл алган функциябыз бар болсун:

javascriptfunction func(localNum) {
  console.log(localNum);
}

Функциянын сыртында num өзгөрмөсү бар болсун:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1; // сырткы жалпы өзгөрмө

Келгиле, функциябызды чакырып, ага num өзгөрмөсүн параметр катары берели:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num); // функцияны параметр менен чакырабыз, 1 чыгарат

Функциянын ичинде localNum өзгөрмөсү да (функциянын параметри), num өзгөрмөсү да (сырткы өзгөрмө катары) жеткиликтүү болот:

javascriptfunction func(localNum) {
  console.log(num); // 1 чыгарат
  console.log(localNum); // 1 чыгарат
}

let num = 1;
func(num);

localNum өзгөрмөсүнүн өзү функциянын жергиликтүү өзгөрмөсү болот жана сыртынан жеткиликтүү болбойт:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // функцияны параметр менен чакырабыз
console.log(localNum); // ката чыгарат

localNum өзгөрмөсү жергиликтүү болгондуктан, аны ичинде өзгөртүү сыртында эч нерсени өзгөртпөйт:

javascriptfunction func(localNum) {
  localNum = 2; // сыртында эч нерсени өзгөртпөйт
}

let num = 1;
func(num);

Эгерде ичинде num өзгөрмөсүн (жалпы өзгөрмөнү) өзгөртсөк, анда өзгөрүүлөр сыртында да пайда болот:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // 2 чыгарат

Бирок, эгерде функциянын ичинде num өзгөрмөсүн let аркылуу жарыяласак, анда биз сырткы өзгөрмөгө таасири жок жергиликтүү num өзгөрмөсүн түзөбүз:

javascriptfunction func(localNum) {
  let num = 2; // let аркылуу жарыялайбыз
}

let num = 1;
func(num);
console.log(num); // 1 чыгарат - эч нерсе өзгөргөн жок
Задание 1

Кодду иштетпей эле, консолго эмне чыгарылаанын аныктаңыз:

javascriptfunction func(localNum) {
  console.log(localNum);
}

func(1);
Задание 2

Кодду иштетпей эле, консолго эмне чыгарылаанын аныктаңыз:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
Задание 3

Кодду иштетпей эле, консолго эмне чыгарылаанын аныктаңыз:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
num = 2;
Задание 4

Кодду иштетпей эле, консолго эмне чыгарылаанын аныктаңыз:

javascriptlet num = 1;

function func(localNum) {
  console.log(localNum);
}

num = 2;
func(num);
Задание 5

Кодду иштетпей эле, консолго эмне чыгарылаанын аныктаңыз:

javascriptfunction func(localNum) {
  localNum = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 6

Кодду иштетпей эле, консолго эмне чыгарылаанын аныктаңыз:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 7

Кодду иштетпей эле, консолго эмне чыгарылаанын аныктаңыз:

javascriptfunction func(localNum) {
  let num = 2;
}

let num = 1;
func(num);
console.log(num);