⊗jsPmFNOIP 250 of 505 menu

Параметри на външни и вътрешни функции в JavaScript

Нека направим така, че както външната функция, така и вътрешната да приемат параметри:

function test(num) { function func(localNum) { console.log(localNum); } }

Нека предадем параметъра на външната функция при извикването на вътрешната функция:

function test(num) { function func(localNum) { console.log(localNum); // ще изведе 1 } func(num); //!! предаваме параметъра } test(1); // предаваме параметър число

Оказва се, че във вътрешната функция ще бъде достъпна променливата num като външна променлива от родителската функция и променливата localNum, която е локална променлива на вътрешната функция.

И двете от тези променливи ще имат еднакви стойности:

function test(num) { function func(localNum) { console.log(num); // ще изведе 1 console.log(localNum); // ще изведе 1 } func(num); } test(1);

Разликата между тях ще бъде в следното: ако във вътрешната функция се промени променливата num - тя ще се промени и във външната функция:

function test(num) { function func(localNum) { num = 2; // променяме променливата num } func(num); // предаваме параметър console.log(num); // ще изведе 2 } test(1); // предаваме параметър число

А променливата localNum ще бъде локална. Промените в нея няма да доведат до никакви промени във външната функция. И самата променлива localNum няма да бъде видима отвън на вътрешната функция:

function test(num) { function func(localNum) { localNum = 2; // променяме променливата num } func(num); // предаваме параметър } test(1); // предаваме параметър число

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

function test(num) { function func(localNum) { console.log(localNum); } func(num); } test(1);

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

function test(num) { function func(localNum) { console.log(localNum); } func(num + 1); } test(1);

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

function test(num) { function func(localNum) { console.log(num); } func(num + 1); } test(1);

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

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

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

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

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

function test(num) { function func(localNum) { num = 2; } func(num); console.log(num); } test(1);
Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне