JavaScript Вызов функции
Повторное использование метода
С помощью метода Call () можно написать метод, который можно использовать для различных объектов.
Все функции являются методами
В JavaScript все функции являются объектными методами.
Если функция не является методом объекта JavaScript, она является функцией глобального объекта (см. предыдущую главу).
В приведенном ниже примере создается объект с 3 свойствами, имя, фамилия,.
Пример
var person = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
person.fullName(); // Will return "John Doe"
Ключевое слово this
В определении функции это относится к "владельцу" функции.
В приведенном выше примере это объект Person , который "владеет" функцией " функция".
Иными словами, это. имя означает имя свойства этого объекта.
Подробнее об этом ключевом слове в JS это ключевое слово.
Метод вызова JavaScript ()
Метод Call () представляет собой предопределенный метод JavaScript.
Его можно использовать для вызова метода с объектом Owner в качестве аргумента (параметра).
С помощью метода Call ()объект может использовать метод, принадлежащий другому объекту.
Этот пример вызывает метод олицетворения Person, используя его на person1:
Пример
var person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
var person1 = {
firstName:"John",
lastName: "Doe",
}
var person2 = {
firstName:"Mary",
lastName: "Doe",
}
person.fullName.call(person1); // Will return "John
Doe"
Этот пример вызывает метод олицетворения Person, используя его на персон2:
Пример
var person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
var person1 = {
firstName:"John",
lastName: "Doe",
}
var person2 = {
firstName:"Mary",
lastName: "Doe",
}
person.fullName.call(person2); // Will return "Mary Doe"
Метод Call () с аргументами
Метод Call () может принимать аргументы:
Пример
var person = {
fullName: function(city, country) {
return this.firstName + " " + this.lastName
+ "," + city + "," + country;
}
}
var person1 = {
firstName:"John",
lastName: "Doe",
}
person.fullName.call(person1, "Oslo", "Norway");