⊗jsPmFVGb 218 of 505 menu

Глобални променливи във функции в JavaScript

В JavaScript (в други езици най-често не е така) променливи, дефинирани извън функцията, ще бъдат видими вътре в тази функция. Такива променливи се наричат глобални. Нека разгледаме пример:

let num = 1; // променлива извън функцията function func() { console.log(num); // променливата num е видима вътре във функцията } func(); // ще изведе 1

Всъщност променливата трябва да бъде дефинирана не преди дефинирането на функцията, а преди нейното извикване:

function func() { console.log(num); } let num = 1; // променлива извън функцията func(); // ще изведе 1

Ако променяме стойността на променливата и след това всеки път извикваме функцията - console.log всеки път ще извежда различни резултати:

function func() { console.log(num); } let num; // декларираме променливата num = 1; // задаваме стойност 1 func(); // ще изведе 1 num = 2; // задаваме стойност 2 func(); // ще изведе 2

Ако имаме няколко функции, то глобалната променлива ще бъде достъпна във всяка от тези функции:

function func1() { console.log(num); } function func2() { console.log(num); } let num = 1; func1(); // ще изведе 1 func2(); // ще изведе 1

Ако в една от функциите се извършат промени с глобалната променлива, то тази променлива ще се промени във всички функции, използващи тази променлива:

function func1() { console.log(num); num++; // променяме глобалната променлива } function func2() { console.log(num); } let num = 1; func1(); // ще изведе 1 func2(); // ще изведе 2

Тъй като всяка от функциите лесно може да промени глобалната променлива, тяхното използване представлява разсадник на трудни за откриване грешки. Поради тази причина използването на глобални променливи в скрипта трябва да се сведе до минимум. Желателно е изобщо да няма такива или да са в най-минимален брой.

Определете, без да стартирате кода, какво ще се изведе в конзолата:

let num = 1; function func() { console.log(num); } func();

Определете, без да стартирате кода, какво ще се изведе в конзолата:

let num = 1; function func() { console.log(num); } num = 2; func();

Определете, без да стартирате кода, какво ще се изведе в конзолата:

function func() { console.log(num); } let num; num = 1; func(); num = 2; func();
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне