Globālie mainīgie un funkciju parametri JavaScript
Pieņemsim, ka mums ir funkcija, kas pieņem parametru skaitli:
function func(localNum) {
console.log(localNum);
}
Pieņemsim, ka ārpus funkcijas ir mainīgais num:
function func(localNum) {
console.log(localNum);
}
let num = 1; // ārējais globālais mainīgais
Izsauksim mūsu funkciju, nododot tai
parametru mainīgo num:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // izsaucam funkciju ar parametru, izvadīs 1
Rezultātā funkcijā būs pieejams
gan mainīgais localNum (funkcijas
parametrs), gan mainīgais num (kā
ārējais mainīgais):
function func(localNum) {
console.log(num); // izvadīs 1
console.log(localNum); // izvadīs 1
}
let num = 1;
func(num);
Pats mainīgais localNum būs funkcijas
lokālais mainīgais un nebūs pieejams no ārpuses:
function func(localNum) {
}
let num = 1;
func(num); // izsaucam funkciju ar parametru
console.log(localNum); // izvadīs kļūdu
Tā kā mainīgais localNum ir lokāls,
tad nekādas izmaiņas ar to nemainīs
nekā ārpus funkcijas:
function func(localNum) {
localNum = 2; // neko nemaina ārpusē
}
let num = 1;
func(num);
Ja gan maina funkcijā mainīgo num
(globālo), tad izmaiņas parādīsies arī ārpusē:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // izvadīs 2
Tomēr, ja funkcijā deklarēsim
mainīgo num ar let, tad
mēs šādi izveidosim lokālo mainīgo
num, kas neietekmē ārējo
mainīgo:
function func(localNum) {
let num = 2; // deklarējam ar let
}
let num = 1;
func(num);
console.log(num); // izvadīs 1 - nekas nav mainījies
Noteikt, nepalaist kodu, ko izvadīs konsole:
function func(localNum) {
console.log(localNum);
}
func(1);
Noteikt, nepalaist kodu, ko izvadīs konsole:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Noteikt, nepalaist kodu, ko izvadīs konsole:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Noteikt, nepalaist kodu, ko izvadīs konsole:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Noteikt, nepalaist kodu, ko izvadīs konsole:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Noteikt, nepalaist kodu, ko izvadīs konsole:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Noteikt, nepalaist kodu, ko izvadīs konsole:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);