В JavaScript это относится к объекту владельца. Если вы хотите прикрепить дополнительные свойства к функции, то вы можете сделать это с помощью этих 3 методов и можете получить доступ к этому дополнительному свойству, используя это ключевое слово. Давайте восполним в глубине этих 3 методах.
Позвоните () Метод вызывает функцию с заданным значением и другими аргументами, предусмотренными в функции.
const address = {city: 'Sonepur', state: 'Odisha'};
function print(name) {
console.log('Name: ' + name + ', Address: ' + this.city + ', ' + this.state);
}
print.call(address, 'Amitav');
// Name: Amitav, Address: Sonepur, Odisha
Вот в примере выше, Позвоните () Прикрепляет адрес адреса к функции Print () и функции Print (), может получить доступ к этому адресу, используя это Отказ Вы можете предоставить любой тип значения для это Отказ
function print() {
console.log('Hello ' + this);
}
print.call('World'); // Hello World
print.call(245); // Hello 245
function print() {
console.log(this[0] + ' ' + this[1]);
}
print.call(['Hello', 'World']); // Hello World
Этот метод вызывает функцию и позволяет передавать аргументы в качестве массива.
const address = {city: 'Sonepur', state: 'Odisha'};
function print(name, age) {
console.log(name +', Age: ' + age + ', Address: ' + this.city + ', ' + this.state);
}
print.apply(address, ['Amitav', 24]);
//Amitav, Age: 24, Address: Sonepur, Odisha
Оба Позвоните () и Применить () работает так же. Единственное отличие в том, что Позвоните () ожидает, что все параметры должны быть предоставлены один за другим, тогда как Применить () Позволяет пройти в аргументах как массив.
Этот метод возвращает новую функцию со значением, связанным с ним, который вы можете использовать для вызова функции с необходимыми аргументами.
const address = {city: 'Sonepur', state: 'Odisha'};
function print(name, age) {
console.log(name +', Age: ' + age + ', Address: ' + this.city + ', ' + this.state);
}
const bindAddress = print.bind(address);
bindAddress('Amitav', 24);
//Amitav, Age: 24, Address: Sonepur, Odisha
- 20 методов сокращения JavaScript, которые сэкономит ваше время
- Метод javaScript Marray Foreach () для петли через массив
- ES6 Разрушение назначения в JavaScript
Спасибо за ваше время Найти больше блогов Web dev на jscurious.com.
Оригинал: “https://dev.to/amitavmishra99/what-are-call-apply-and-bind-in-javascript-2k6l”