⊗jsPmFAOIP 250 of 505 menu

Ulkoisten ja sisäisten funktioiden parametrit JavaScriptissä

Tehdään niin, että sekä ulkoinen funktio että sisäinen ottavat vastaan parametreja:

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

Annetaan ulkoisen funktion parametri sisäisen funktion kutsulle:

function test(num) { function func(localNum) { console.log(localNum); // tulostaa 1 } func(num); //!! välitetään parametri } test(1); // välitetään parametrina numero

Käy niin, että sisäisessä funktiossa on käytettävissä muuttuja num ulkoisena muuttujana vanhempifunktiosta ja muuttuja localNum, joka on sisäisen funktion lokaali muuttuja.

Molemmilla näistä muuttujista on samat arvot:

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

Ero niiden välillä on seuraava: jos sisäisessä funktiossa muutetaan muuttujaa num - se muuttuu myös ulkoisessa funktiossa:

function test(num) { function func(localNum) { num = 2; // muutetaan muuttujaa num } func(num); // välitetään parametri console.log(num); // tulostaa 2 } test(1); // välitetään parametrina numero

Ja muuttuja localNum on lokaali. Sen muutokset eivät johda mihinkään muutoksiin ulkoisessa funktiossa. Eikä muuttuja localNum itsessään näy sisäisen funktion ulkopuolella:

function test(num) { function func(localNum) { localNum = 2; // muutetaan muuttujaa num } func(num); // välitetään parametri } test(1); // välitetään parametrina numero

Päätä, käyttämättä koodia, mitä tulostetaan konsoliin:

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

Päätä, käyttämättä koodia, mitä tulostetaan konsoliin:

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

Päätä, käyttämättä koodia, mitä tulostetaan konsoliin:

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

Päätä, käyttämättä koodia, mitä tulostetaan konsoliin:

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

Päätä, käyttämättä koodia, mitä tulostetaan konsoliin:

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

Päätä, käyttämättä koodia, mitä tulostetaan konsoliin:

function test(num) { function func(localNum) { num = 2; } func(num); console.log(num); } test(1);
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää