Οντότητα arguments ECMAScript
- Προηγούμενη σελίδα Εισαγωγή στη συνάρτηση
- Επόμενη σελίδα Ο οBJECT Function
Αντικείμενο arguments
Στο κώδικα της συνάρτησης, οι προγραμματιστές χρησιμοποιούν ειδικό αντικείμενο argumentsΔεν χρειάζεται να αναφέρετε ρητά το όνομα της παράμετρουτότε μπορείτε να τις προσβείτε.
Για παράδειγμα, στην συνάρτηση sayHi(), ο πρώτος παράμετρος είναι το message. Μπορείτε επίσης να προσβείτε σε αυτήν την τιμή χρησιμοποιώντας arguments[0], δηλαδή την τιμή της πρώτης παράμετρος (η πρώτη παράμετρος βρίσκεται στη θέση 0, η δεύτερη παράμετρος στη θέση 1, και ούτω καθεξής).
Επομένως, δεν χρειάζεται να ονοματίσετε ρητά τους παραμέτρους για να επαναγράψετε τη συνάρτηση:
function sayHi() { if (arguments[0] == "bye") {}} return; } alert(arguments[0]); }
Έλεγχος αριθμού παραμέτρων
Μπορείτε επίσης να χρησιμοποιήσετε το αντικείμενο arguments για να ελέγξετε τον αριθμό των παραμέτρων της συνάρτησης, αναφέροντας την ιδιότητα arguments.length.
Το παρακάτω κείμενο θα εκτυπώσει τον αριθμό των παραμέτρων που χρησιμοποιούνται κάθε φορά που καλείται η συνάρτηση:
function howManyArgs() { alert(arguments.length); } howManyArgs("string", 45); howManyArgs(); howManyArgs(12);
Το παρακάτω κείμενο θα εμφανίσει συνεχώς τα "2", "0" και "1".
Σημείωση:Διαφορετικά από άλλες γλώσσες προγραμματισμού, το ECMAScript δεν ελέγχει αν ο αριθμός των παραμέτρων που παρέχονται στη συνάρτηση ισούται με τον αριθμό των παραμέτρων που ορίζονται στη συνάρτηση. Όλες οι συναρτήσεις που ορίζονται από τους αναπτύκτες μπορούν να αποδεχτούν οποιονδήποτε αριθμό παραμέτρων (σύμφωνα με τα έγγραφα της Netscape, μπορεί να αποδεχτούν μέχρι 255 παραμέτρους), χωρίς να προκαλέσουν καμία σφάλμα. Οποιαδήποτε απλή παράμετρος θα μεταδοθεί ως undefined στη συνάρτηση, και οι περιττές παράμετροι θα αγνοηθούν.
Μιμητική αναγέννηση συνάρτησης
Με τη χρήση του αντικειμένου arguments, μπορείτε να προσδιορίσετε τον αριθμό των παραμέτρων που παρέχονται στη συνάρτηση, και να μιμηθείτε τη συνάρτηση αναγέννησης:
function doAdd() { if(arguments.length == 1) { alert(arguments[0] + 5); } else if(arguments.length == 2) { alert(arguments[0] + arguments[1]); } } doAdd(10); // Εκτύπωση "15" doAdd(40, 20); // Εκτύπωση "60"
Όταν υπάρχει ένας μόνο παράμετρος, η συνάρτηση doAdd() προσθέτει 5 στον παράμετρο. Αν υπάρχουν δύο παράμετροι, θα προσθέσει τις δύο παράμετροι και θα επιστρέψει τη σύνθετη τιμή. Επομένως, η doAdd(10) θα επιστρέψει το "15", ενώ η doAdd(40, 20) θα επιστρέψει το "60".
Αν και δεν είναι τόσο καλή όσο η αναγέννηση, είναι αρκετή για να αποφύγει αυτή τη περιορισμό του ECMAScript.
- Προηγούμενη σελίδα Εισαγωγή στη συνάρτηση
- Επόμενη σελίδα Ο οBJECT Function