Funkcja Call w JavaScript
- Poprzednia strona Wywołanie funkcji JS
- Następna strona Funkcja Apply JS
metody ponownego użycia
Użycie call()
metody, które możesz napisać, aby były używane na różnych obiektach.
Funkcje są metodami obiektów
W JavaScript funkcje są metodami obiektów.
Jeśli funkcja nie jest metodą obiektu JavaScript, to jest funkcją globalnego obiektu (zobacz poprzedni rozdział).
Poniższy przykład tworzy obiekt z trzema atrybutami (firstName
,lastName
,fullName
)。
Przykład
var person = { firstName:"Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; } } person.fullName(); // Zwróci "Bill Gates"
Atrybut fullName jestmetoda.Obiekt person jest metodąwłaściciela.
Atrybut fullName należy do Metody obiektu person.
Metoda call() w JavaScript
call()
Metoda jest predefiniowaną metodą JavaScript.
Można jej użyć do wywołania metody jako argumentu obiektu właściciela.
Poprzez call()
możesz używać metod należących do innego obiektu.
W tym przykładzie wywoływana jest metoda fullName obiektu person i używana dla person1:
Przykład
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); // Zwróci "Bill Gates"
W tym przykładzie wywoływana jest metoda fullName obiektu person i używana dla person2:
Przykład
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); // Zwróci "Steve Jobs"
Metoda call() z parametrami
Metoda call() może przyjąć parametry:
Przykład
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");
- Poprzednia strona Wywołanie funkcji JS
- Następna strona Funkcja Apply JS