Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
⊗jsPmBsPPT 60 of 505 menu
◀ ▶

Προθεματικός και Μεταθεματικός Τύπος στη JavaScript

Στην πραγματικότητα, οι πράξεις αύξησης και μείωσης μπορούν να γραφτούν με δύο τρόπους. Ας εξετάσουμε αυτούς τους τρόπους χρησιμοποιώντας το παράδειγμα του ++, ενώ για το -- όλα θα είναι ανάλογα.

Στον πρώτο τρόπο, η πράξη γράφεται μετά από το όνομα της μεταβλητής, έτσι: a++, ενώ στον δεύτερο τρόπο - πριν από το όνομα της μεταβλητής, έτσι: ++a.

Η πρώτη μορφή ονομάζεται μεταθεματική, ενώ η δεύτερη - προθεματική. Ας δούμε σε ποιες περιπτώσεις εμφανίζεται η διαφορά μεταξύ αυτών των δύο μορφών.

Ας υποθέσουμε ότι έχουμε τον κώδικα alert(a++) και τον κώδικα alert(++a).

Στην περίπτωση του alert(a++) η μεταβλητή πρώτα εμφανίζεται και μετά αυξάνεται κατά ένα, ενώ στην περίπτωση του alert(++a) η μεταβλητή πρώτα αυξάνεται κατά ένα και μετά εμφανίζεται.

Στο επόμενο παράδειγμα, το πρώτο alert θα εμφανίσει 0, καθώς στην αρχή θα εκτελεστεί η εμφάνιση στην οθόνη, και μόνο μετά η μεταβλητή θα αυξηθεί:

let num = 0; alert(num++); // θα εμφανίσει 0 alert(num); // θα εμφανίσει 1

Τώρα η μεταβλητή πρώτα θα αυξηθεί, και μετά θα γίνει η εμφάνιση στην οθόνη:

let num = 0; alert(++num); // θα εμφανίσει 1 - η μεταβλητή αυξήθηκε αμέσως

Αυτή η συμπεριφορά ισχύει όχι μόνο για την εμφάνιση στην οθόνη, αλλά και για την ανάθεση:

let num1 = 0; let num2 = num1++; // στη μεταβλητή num2 θα καταγραφεί 0 alert(num2); // θα εμφανίσει 0 alert(num1); // θα εμφανίσει 1 - η μεταβλητή num1 άλλαξε μετά την εγγραφή στο num2

Τώρα ας αλλάξουμε τη μεταθεματική μορφή σε προθεματική:

let num1 = 0; let num2 = ++num1; // στη μεταβλητή num2 θα καταγραφεί 1 alert(num2); // θα εμφανίσει 1

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

let num = 0; ++num; num++; alert(num); // θα εμφανίσει 2

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

let num = 3; alert(++num);

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

let num = 3; alert(num++);

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

let num = 3; alert(--num);

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

let num = 3; alert(num--);

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

let num1 = 3; let num2 = ++num1; alert(num1); alert(num2);

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

let num1 = 3; let num2 = num1++; alert(num1); alert(num2);

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

let num1 = 3; let num2 = --num1; alert(num1); alert(num2);

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

let num1 = 3; let num2 = num1--; alert(num1); alert(num2);

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

let num1 = 3; num1++; let num2 = num1--; alert(num1++); alert(--num2);
← →
↑
Ελληνικά▼
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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη