10 of 17 menu

Lipu puudumise vea funktsioonis JavaScriptis

Oletame, et tahame teha funktsiooni, mis võtab parameetritena numbri ja arvu, ning kontrollib, kas antud number on arvus olemas:

function func(needle, num) { // siin on kood }

Nii me kasutame oma funktsiooni:

console.log(func('3', '12345')); // väljastab true

Mingi programmeerija kirjutas selle ülesande lahenduse:

function func(needle, num) { for (let digit of num) { if (digit === needle) { return true; } else { return false; } } }

See lahendus aga ei tööta korrektselt. Asi on selles, et tsüklis on kirjutatud tingimus, milles juba esimese iteratsiooni jooksul tehakse kas üks return või teine, ning nii väljutakse nii tsüklist kui ka funktsioonist.

Kirjutame oma koodi ümber õigel viisil, kasutades kaudseid lippe funktsioonides:

function func(needle, num) { for (let digit of num) { if (digit === needle) { return true; } } return false; }
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu