JavaScript'te Global Değişkenler ve Fonksiyon Parametreleri

Bir sayıyı parametre olarak alan bir fonksiyonumuz olsun:

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

Fonksiyonun dışında num adında bir değişken olsun:

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

let num = 1; // dış global değişken

Fonksiyonumuzu, num değişkenini parametre olarak ileterek çağıralım:

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

let num = 1;
func(num); // fonksiyonu parametre ile çağırır, 1 yazdırır

Fonksiyonun içinde hem localNum değişkeni (fonksiyon parametresi) hem de num değişkeni (dış değişken olarak) erişilebilir olacaktır:

javascriptfunction func(localNum) {
  console.log(num); // 1 yazdırır
  console.log(localNum); // 1 yazdırır
}

let num = 1;
func(num);

localNum değişkeninin kendisi, fonksiyonun yerel bir değişkeni olacak ve dışarıdan erişilemeyecektir:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // fonksiyonu parametre ile çağırır
console.log(localNum); // hata verecektir

localNum değişkeni yerel olduğu için, onunla yapılan hiçbir değişiklik dışarıda bir şeyi değiştirmeyecektir:

javascriptfunction func(localNum) {
  localNum = 2; // dışarıda hiçbir şeyi değiştirmez
}

let num = 1;
func(num);

Ancak, fonksiyon içinde num değişkeni (global olanı) değiştirirsek, değişiklikler dışarıda da görünecektir:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // 2 yazdırır

Ancak, fonksiyon içinde num değişkenini let ile bildirirsek, bu şekilde dış değişkeni etkilemeyen yerel bir num değişkeni oluşturmuş oluruz:

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

let num = 1;
func(num);
console.log(num); // 1 yazdırır - hiçbir şey değişmedi
Задание 1

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

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

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

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

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

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

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

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

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

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptlet num = 1;

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

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

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptfunction func(localNum) {
  localNum = 2;
}

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

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptfunction func(localNum) {
  num = 2;
}

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

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

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

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