Λειτουργία Call JavaScript

Μέθοδος επαναχρησιμοποίησης

Χρήση call() Μέθοδοι, μπορείτε να γράψετε μεθόδους που μπορούν να χρησιμοποιηθούν σε διαφορετικά αντικείμενα.

Οι συναρτήσεις είναι μεθόδους αντικειμένων

Στο JavaScript, οι συναρτήσεις είναι μεθόδους αντικειμένων.

Αν μια συνάρτηση δεν είναι μέθοδος αντικειμένου JavaScript, τότε είναι συνάρτηση του κοινού αντικειμένου (βλέπε την προηγούμενη ενότητα).

Το παρακάτω παράδειγμα δημιουργεί αντικείμενο με τρεις ιδιότητες (firstNamelastNamefullName)。

Παράδειγμα

var person = {
    firstName:"Bill",
    lastName: "Gates",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
person.fullName();		// Επιστρέφει "Bill Gates"

Δοκιμάστε το προσωπικά

Η ιδιότητα fullName είναι μιαΜέθοδος.Το αντικείμενο person είναι το μέθοδοΙδιοκτήτης.

Η ιδιότητα fullName ανήκει Μέθοδοι του αντικειμένου person.

JavaScript call() μέθοδος

call() Μέθοδοι είναι προκαθορισμένες JavaScript μεθόδους.

Μπορεί να χρησιμοποιηθεί για να καλέσει τη μέθοδο μιας αντικειμενικής ως παραμέτρο.

μέσω call()Μπορείτε να χρησιμοποιήσετε τη μέθοδο μιας άλλης αντικειμενικής.

Αυτή η παράδειγμα καλεί τη μέθοδο fullName του person και τη χρησιμοποιεί για τον person1:

Παράδειγμα

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName:"Bill",
    lastName: "Gates",
}
var person2 = {
    firstName:"Steve",
    lastName: "Jobs",
}
person.fullName.call(person1);  // Επιστρέφει "Bill Gates"

Δοκιμάστε το προσωπικά

Αυτή η παράδειγμα καλεί τη μέθοδο fullName του person και τη χρησιμοποιεί για τον person2:

Παράδειγμα

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName:"Bill",
    lastName: "Gates",
}
var person2 = {
    firstName:"Steve",
    lastName: "Jobs",
}
person.fullName.call(person2);  // θα επιστρέψει "Steve Jobs"

Δοκιμάστε το προσωπικά

Μέθοδος call() με παραμέτρους

Η μέθοδος call() μπορεί να δεχτεί παραμέτρους:

Παράδειγμα

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:"Bill",
  lastName: "Gates"
}
person.fullName.call(person1, "Seattle", "USA");

Δοκιμάστε το προσωπικά