Fout: Gebrek aan vlag in funksie in JavaScript
Laat ons sê ons wil 'n funksie maak wat 'n syfer en 'n getal as parameter sal aanvaar, en sal nagaan of die gespesifiseerde syfer in die getal is:
function func(naald, getal) {
// kode sal hier wees
}
So sal ons ons funksie gebruik:
console.log(func('3', '12345')); // sal true toon
'n Sekere programmeerder het 'n oplossing vir hierdie taak geskryf:
function func(naald, getal) {
for (let syfer of getal) {
if (syfer === naald) {
return true;
} else {
return false;
}
}
}
Hierdie oplossing werk egter nie korrek nie.
Die saak is dat daar in die lus 'n voorwaarde is
waarin in die eerste iterasie
òf die een return uitgevoer sal word,
òf die ander, en sodoende sal dit
uit die lus en uit die funksie uitgaan.
Laat ons ons kode korrek herskryf deur gebruik te maak van implisiete vlae in funksies:
function func(naald, getal) {
for (let syfer of getal) {
if (syfer === naald) {
return true;
}
}
return false;
}