Глобални променливи и параметри на функции в JavaScript
Да предположим, че имаме функция, която приема число като параметър:
function func(localNum) {
console.log(localNum);
}
Да предположим, че извън функцията има променлива num:
function func(localNum) {
console.log(localNum);
}
let num = 1; // външна глобална променлива
Нека извикаме нашата функция, като й предадем променливата num като параметър:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // извикваме функцията с параметър, ще изведе 1
Така вътре във функцията ще бъдат достъпни както променливата localNum (параметър на функцията), така и променливата num (като външна променлива):
function func(localNum) {
console.log(num); // ще изведе 1
console.log(localNum); // ще изведе 1
}
let num = 1;
func(num);
Самата променлива localNum ще бъде локална променлива на функцията и няма да бъде достъпна отвън:
function func(localNum) {
}
let num = 1;
func(num); // извикваме функцията с параметър
console.log(localNum); // ще даде грешка
Тъй като променливата localNum е локална, всички промени в нея няма да променят нищо отвън:
function func(localNum) {
localNum = 2; // не променя нищо отвън
}
let num = 1;
func(num);
Ако обаче променим променливата num (глобалната) вътре, промените ще се появят и отвън:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // ще изведе 2
Въпреки това, ако декларираме променлива num вътре във функцията чрез let, по този начин ще създадем локална променлива num, която не влияе по никакъв начин на външната променлива:
function func(localNum) {
let num = 2; // декларираме чрез let
}
let num = 1;
func(num);
console.log(num); // ще изведе 1 - нищо не се е променило
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(localNum) {
console.log(localNum);
}
func(1);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Определете, без да стартирате кода, какво ще се изведе в конзолата:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Определете, без да стартирате кода, какво ще се изведе в конзолата:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);