10 of 17 menu

Kļūda: karoga trūkums funkcijā JavaScript

Pieņemsim, ka mēs vēlamies izveidot funkciju, kura parametru veidā pieņems ciparu un skaitli, un pārbaudīs, vai norādītais cipars atrodas skaitlī:

function func(needle, num) { // šeit būs kods }

Lūk, kā mēs izmantosim savu funkciju:

console.log(func('3', '12345')); // izvadīs true

Kāds programmētājs uzrakstīja šīs uzdevuma risinājumu:

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

Šis risinājums tomēr strādā nepareizi. Lieta ir tāda, ka cilpā ir uzrakstīts nosacījums, kurā jau pirmās iterācijas laikā izpildīsies vai nu viens return, vai otrs, tādējādi veicot izeju gan no cilpas, gan no funkcijas.

Pārrakstīsim mūsu kodu pareizā veidā, izmantojot netiešos karogus funkcijās:

function func(needle, num) { for (let digit of num) { if (digit === needle) { return true; } } return false; }
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt