Namnöverensstämmelse med parametrar i JavaScript
Funktionsparametrar är lokala variabler inuti den. Låt oss namnge funktionsparametern samma namn som en extern global variabel:
function func(num) {
console.log(num);
}
let num = 1;
func(num);
I det här fallet kommer det att bli så att
utanför funktionen finns en variabel num
och inuti funktionen finns en variabel num.
Men dessa kommer att vara olika variabler: att ändra
variabeln inuti funktionen kommer att leda
till en ändring av funktionens lokala variabel.
Och den externa variabeln inuti
funktionen kommer att vara otillgänglig och kan inte
ändras på något sätt. Låt oss kontrollera:
function func(num) {
num = 2; // ändrar den lokala variabeln
}
let num = 1;
func(num);
console.log(num); // skriver ut 1 - inget har förändrats
Bestäm, utan att köra koden, vad som kommer att skrivas ut i konsolen:
function func(num) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Bestäm, utan att köra koden, vad som kommer att skrivas ut i konsolen:
function func() {
num = 2;
}
let num = 1;
func();
console.log(num);
Bestäm, utan att köra koden, vad som kommer att skrivas ut i konsolen:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);