Σφάλμα υπέρβασης μέγιστου μεγέθους στοίβας κλήσεων σε JavaScript | Εξήγησε

Sphalma Yperbases Megistou Megethous Stoibas Kleseon Se Javascript Exegese



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

Το άρθρο μας εξυπηρετεί ως εξής:







  • Σφάλμα υπέρβασης μέγιστου μεγέθους στοίβας κλήσεων σε JavaScript
  • Χρήση του if Condition για την επίλυση του σφάλματος υπέρβασης του μέγιστου μεγέθους στοίβας κλήσεων
  • Χρήση του βρόχου για την επίλυση του σφάλματος υπέρβασης του μέγιστου μεγέθους στοίβας κλήσεων.

Σφάλμα υπέρβασης μέγιστου μεγέθους στοίβας κλήσεων σε JavaScript

Το σφάλμα υπέρβασης μεγέθους στοίβας εμφανίζεται όταν ο χρήστης καλεί την αναδρομική συνάρτηση. Αυτός ο τύπος σφάλματος προκύπτει λόγω επανειλημμένης επίκλησης μιας μεθόδου. ο fun_user() χρησιμοποιείται ως αναδρομική κλήση μέσα στη συνάρτηση fun_user() σε JavaScript για να δημιουργήσετε ένα σφάλμα στο παράθυρο της κονσόλας.



Κώδικας



console.log ( 'Υπέρβαση μέγιστου μεγέθους στοίβας κλήσεων' ) ;
fun_user ( ) ;
λειτουργία fun_user ( )
{
fun_user ( ) ;
}





Σε αυτόν τον κώδικα, το 'Σφάλμα υπέρβασης του μέγιστου μεγέθους στοίβας κλήσεων' δημιουργείται με την κλήση μιας μεθόδου 'fun_user()' μέσα στη συνάρτηση.



Ο κωδικός εμφανίζει το σφάλμα ως 'Σφάλμα εύρους: Υπέρβαση του μέγιστου μεγέθους στοίβας κλήσεων.'

Υπάρχουν πολλοί τρόποι επίλυσης αυτού του σφάλματος, όπως π.χ για βρόχο και δηλώσεις υπό όρους , το οποίο μπορεί να χρησιμοποιηθεί για τον περιορισμό της κλήσης συνάρτησης.

Λύση 1: Χρήση του if Condition για την επίλυση του σφάλματος υπέρβασης του μέγιστου μεγέθους στοίβας κλήσεων

Για την επίλυση του σφάλματος, εφαρμόζεται η συνθήκη if για τον περιορισμό του μεγέθους στοίβας στο JavaScript. Για παράδειγμα, ο κωδικός δίνεται παρακάτω.

Κώδικας

ήταν Εγώ = 1 ;
fun_user ( Εγώ ) ;
λειτουργία fun_user ( Εγώ ) {
αν ( Εγώ < = 10 )
{
console.log ( 'Καλώς ήρθατε στο JavaScript' ) ;
Εγώ =i+ 1 ;
fun_user ( Εγώ ) ;
} }

Η περιγραφή του κώδικα έχει ως εξής:

  • Πρώτον, μια μεταβλητή 'Εγώ' αρχικοποιείται με την τιμή 1.
  • Μετά από αυτό, fun_user() Η μέθοδος χρησιμοποιείται περνώντας τη μεταβλητή 'Εγώ'.
  • Σε αυτή τη συνάρτηση, εάν εφαρμόζεται συνθήκη που περιορίζει την επανάληψη σε 10 .
  • Τέλος, το μήνυμα 'Καλώς ήρθατε στο JavaScript' εμφανίζεται χρησιμοποιώντας το 'console.log()' μέθοδος.

Παραγωγή

Λύση 2: Χρήση του βρόχου για την επίλυση του σφάλματος υπέρβασης του μέγιστου μεγέθους στοίβας κλήσεων

Για την επίλυση του σφάλματος, χρησιμοποιείται ένας βρόχος for για τον περιορισμό των επαναλήψεων στο JavaScript. Για παράδειγμα, ο κωδικός δίνεται παρακάτω.

Κώδικας

αφήνω έξοδος = 0 ;
Για ( αφήνω i = 5 ; Εγώ > 0 ; Εγώ-- )
{
έξοδος += προσθήκη ( 1 , 1 ) ;
}
λειτουργία Προσθήκη ( α, β ) {
ΕΠΙΣΤΡΟΦΗ a + b;
}
console.log ( παραγωγή ) ;

Σε αυτόν τον κώδικα:

  • Η μεταβλητή 'παραγωγή' αρχικοποιείται με τιμή 0.
  • Μετά από αυτό, χρησιμοποιείται ένας βρόχος for για την εκτέλεση πέντε επαναλήψεων. Σε αυτόν τον βρόχο, το Προσθήκη() Η μέθοδος καλείται περνώντας την τιμή 1.
  • Η μέθοδος Προσθήκη() επιστρέφει την προσθήκη δύο μεταβλητών ένα και σι .
  • Στο τέλος, το κούτσουρο() μέθοδος χρησιμοποιείται για την εμφάνιση της εξόδου στο παράθυρο της κονσόλας.

Παραγωγή

Η έξοδος επιστρέφει “10” επιλύοντας το σφάλμα του μέγιστου μεγέθους στοίβας κλήσεων σε JavaScript.

συμπέρασμα

Η άπειρη κλήση των αναδρομικών συναρτήσεων εμφανίζεται ως το 'Σφάλμα υπέρβασης του μέγιστου μεγέθους στοίβας κλήσεων' σε JavaScript. Αυτό το άρθρο εξηγεί τους λόγους για τους οποίους προκαλείται αυτό το είδος σφάλματος. Στη συνέχεια, δύο λύσεις, συμπεριλαμβανομένων 'για βρόχο' και «Δηλώσεις υπό όρους» χρησιμοποιούνται για την επίλυση του σφάλματος. Ως εκ τούτου, οι λειτουργίες κλήσης περιορίζονται με τη χρήση αυτών των λύσεων.