Εισαγωγή στις Λειτουργίες ECMAScript

Τι είναι η συνάρτηση;

Η συνάρτηση είναι ένα σύνολο εντολών που μπορεί να εκτελεστεί οποιαδήποτε στιγμή.

Η συνάρτηση είναι το κέντρο του ECMAScript.

Η συνάρτηση δηλώνεται με τον τρόπο αυτό: η λέξη-κλειδί function, το όνομα της συνάρτησης, ένα σύνολο παραμέτρων και το κώδικα που εκτελείται εντός κουτιών.

Η βασική γραμματική της συνάρτησης είναι αυτή:

function functionName(arg0, arg1, ... argN) {
  statements
}

Παράδειγμα:

function sayHi(sName, sMessage) {
  alert("Hello " + sName + sMessage);
}

Πώς καλείται μια συνάρτηση;

Η κλήση της συνάρτησης γίνεται με το όνομα της συνάρτησης και τα παραμέτρων που περιέχονται στους κύριους χαρακτήρες, αν υπάρχουν πολλές.

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

sayHi("David", " Nice to meet you!")

Η κλήση της συνάρτησης sayHi() προκαλεί την εμφάνιση ενός παράθυρου προειδοποίησης. Μπορείτε ναΔοκιμάστε προσωπικά αυτό το παράδειγμα.

Πώς επιστρέφει μια συνάρτηση τιμή;

Η συνάρτηση sayHi() δεν επιστρέφει τιμή, αλλά δεν χρειάζεται να την δηλώσουμε ειδικά (όπως στο Java χρησιμοποιούμε void).

Αν και η συνάρτηση έχει τιμή, δεν είναι απαραίτητο να την δηλώσουμε εκεινά. Η συνάρτηση απλώς χρειάζεται να χρησιμοποιήσει τον operator return ακολουθούμενο από την τιμή που θέλουμε να επιστρέψουμε.

function sum(iNum1, iNum2) {
  return iNum1 + iNum2;
}

Ο παρακάτω κώδικας αποδίδει την τιμή που επιστρέφει η συνάρτηση sum σε μια μεταβλητή:

var iResult = sum(1,1);
alert(iResult);	// Εξαγωγή "2"

Ενός άλλου σημαντικού μοντέλου είναι ότι, όπως στο Java, η συνάρτηση σταματά αμέσως τη διεξαγωγή του κώδικα μετά την εκτέλεση ενός statements return. Επομένως, ο κώδικας μετά το statements return δεν θα εκτελεστεί.

Παράδειγμα, στο παρακάτω κώδικα, το παράθυρο alert δεν θα εμφανιστεί:

function sum(iNum1, iNum2) {
  return iNum1 + iNum2;
  alert(iNum1 + iNum2);
}

Μια συνάρτηση μπορεί να έχει πολλαπλά statements return, όπως παρακάτω:

function diff(iNum1, iNum2) {
  if (iNum1 > iNum2) {
    return iNum1 - iNum2;
  }
    return iNum2 - iNum1;
  }
}

Η συνάρτηση που παρουσιάζεται παραπάνω χρησιμοποιείται για να επιστρέψει τη διαφορά δύο αριθμών. Για να επιτευχθεί αυτό, πρέπει να αφαιρεθεί ο μεγαλύτερος αριθμός από τον μικρότερο, οπότε χρησιμοποιείται η δομή if για να αποφασιστεί ποια συνάρτηση return θα εκτελεστεί.

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

Παράδειγμα:

function sayHi(sMessage) {
  if (sMessage == "bye") {
    return;
  }
  alert(sMessage);
}

Σε αυτό το κώδικα, αν το sMessage ισούται με "bye", το παράθυρο προειδοποίησης δεν θα εμφανιστεί ποτέ.

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