Pozwala wywołać metodę innego obiektu w kontekście innego obiektu
Składnia
call(thisArg[, arg1[, arg2[, ...]]])
Parametry
- thisArg - Parametr do wywołania obiektu.
- arg1, arg2, ... - Argumenty dla obiektu.
Opis
Możesz przypisać różnice tego objektu kiedy wywołujesz istniejącą funkcję. ten odnosi się do bieżącego obiektu
Z wywołaniem możesz zapisać metodę i następnie dziedziczyć ja w inym obiekcie, bez potrzeby nadpisywania metody dla nowego objektu
Przykłady
Przykład: Zastosowanie call do łańcucha konstruktorów dla obiektu
Możesz wywołać łańcuhc konstruktorów dla obiektu, podobnie jak w java. W poniżyszm przykładzie konstruktor dla objektu produkt jest zdefiniowany z dwoma parametrami nazwa i wartość. Kolejny obiekt prod_dept inicjalizuje te unikalne zmienne i wywołuje konstruktor dla produktu w tym konstruktorze do inicjalizowania innych zmiennych
function product(name, value){
this.name = name;
if(value > 1000)
this.value = 999;
else
this.value = value;
}
function prod_dept(name, value, dept){
this.dept = dept;
product.call(this, name, value);
}
prod_dept.prototype = new product();
// od 5 jest mniejsza następnie ustawiana jest wartość 100
cheese = new prod_dept("feta", 5, "food");
// od 5000 jest wyższa 1000, wartość będzie wynosić 999
car = new prod_dept("honda", 5000, "auto");
Listing
Ranga: Administrator serwisu Punktów: 0