Variabel Global dan Parameter Fungsi dalam JavaScript

Misalkan kita memiliki fungsi yang menerima sebuah angka sebagai parameter:

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

Misalkan di luar fungsi terdapat variabel num:

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

let num = 1; // variabel global eksternal

Mari panggil fungsi kita, dengan meneruskan variabel num sebagai parameternya:

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

let num = 1;
func(num); // memanggil fungsi dengan parameter, akan menampilkan 1

Hasilnya, di dalam fungsi akan tersedia baik variabel localNum (parameter fungsi) maupun variabel num (sebagai variabel eksternal):

javascriptfunction func(localNum) {
  console.log(num); // akan menampilkan 1
  console.log(localNum); // akan menampilkan 1
}

let num = 1;
func(num);

Variabel localNum itu sendiri akan menjadi variabel lokal fungsi dan tidak akan dapat diakses dari luar:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // memanggil fungsi dengan parameter
console.log(localNum); // akan memberikan error

Karena variabel localNum adalah variabel lokal, maka perubahan apa pun yang dilakukan padanya tidak akan mengubah apa pun di luar:

javascriptfunction func(localNum) {
  localNum = 2; // tidak mengubah apa pun di luar
}

let num = 1;
func(num);

Namun, jika kita mengubah variabel num (variabel global) di dalam, maka perubahannya akan muncul di luar juga:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // akan menampilkan 2

Namun, jika di dalam fungsi kita mendeklarasikan variabel num melalui let, maka kita akan membuat variabel lokal num dengan cara ini, yang tidak mempengaruhi variabel eksternal sama sekali:

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

let num = 1;
func(num);
console.log(num); // akan menampilkan 1 - tidak ada yang berubah
Задание 1

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

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

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

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

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

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

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

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

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

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

javascriptlet num = 1;

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

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

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

javascriptfunction func(localNum) {
  localNum = 2;
}

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

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

javascriptfunction func(localNum) {
  num = 2;
}

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

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

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

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