სახელების დამთხვევა პარამეტრებთან JavaScript-ში
ფუნქციის პარამეტრები მისი ლოკალური ცვლადებია. მოდით, ფუნქციის პარამეტრს ვუწოდოთ იგივე სახელი, რაც გარე გლობალურ ცვლადს:
function func(num) {
console.log(num);
}
let num = 1;
func(num);
ამ შემთხვევაში ისე მოხდება, რომ
ფუნქციის გარეთ იქნება ცვლადი num
და ფუნქციის შიგნით იქნება ცვლადი num.
მაგრამ ეს იქნება სხვადასხვა ცვლადი: ცვლადის შეცვლა
ფუნქციის შიგნით გამოიწვევს
ფუნქციის ლოკალური ცვლადის შეცვლას.
გარე ცვლადი კი ფუნქციის შიგნით იქნება
მიუწვდომელი და ვერ შეიცვლება
არანაირად. შევამოწმოთ:
function func(num) {
num = 2; // ვცვლით ლოკალურ ცვლადს
}
let num = 1;
func(num);
console.log(num); // გამოიტანს 1-ს - არაფერი შეცვლილა
განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:
function func(num) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:
function func() {
num = 2;
}
let num = 1;
func();
console.log(num);
განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);