10 of 17 menu

Σφάλμα απουσίας σημαίας σε συνάρτηση σε JavaScript

Ας υποθέσουμε ότι θέλουμε να δημιουργήσουμε μια συνάρτηση, που θα δέχεται ως παράμετρο ένα ψηφίο και έναν αριθμό, και θα ελέγχει αν υπάρχει το καθορισμένο ψηφίο στον αριθμό:

function func(needle, num) { // εδώ θα είναι ο κώδικας }

Έτσι θα χρησιμοποιούμε τη συνάρτησή μας:

console.log(func('3', '12345')); // θα εμφανίσει true

Ένας προγραμματιστής έγραψε μια λύση για αυτό το πρόβλημα:

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

Αυτή η λύση, ωστόσο, δεν λειτουργεί σωστά. Το πρόβλημα είναι ότι στον βρόγχο υπάρχει μια συνθήκη, στην οποία ήδη στην πρώτη επανάληψη θα εκτελεστεί είτε το ένα return, είτε το άλλο, με αποτέλεσμα να γίνει έξοδος τόσο από τον βρόγχο, όσο και από τη συνάρτηση.

Ας ξαναγράψουμε τον κώδικά μας με σωστό τρόπο, χρησιμοποιώντας σιωπηρές σημαίες σε συναρτήσεις:

function func(needle, num) { for (let digit of num) { if (digit === needle) { return true; } } return false; }
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη