English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы JavaScript

Объекты JavaScript

Функции JavaScript

JS HTML DOM

JS браузер BOM

Основы AJAX

Руководство по JavaScript

Вызов функции JavaScript

call() позволяет передавать функцию/метод одного объекта другому и вызывать его.

function Product(name, price) {
  this.name = name;
  this.price = price;
}
function Food(name, price) {
  Product.call(this, name, price);
  this.category = "food";
}
document.write(new Food("cheese", 12).name);
Проверьте, что‹/›

Примере call() предоставляет новой значению this() функцию/метод. При вызове вы можете написать один раз метод, а затем передать его в другой объект, не повторяя его для нового объекта.

Использование вызова для связи конструктора объекта

Вы можете использовать call() для связи конструктора объекта, как в Java.

function Product(name, price) {
  this.name = name;
  this.price = price;
}
function Food(name, price) {
  Product.call(this, name, price);
  this.category = "food";
}
function Toy(name, price) {
  Product.call(this, name, price);
  this.category = "toy";
}
let cheese = new Food("cheese", 12);
let robot = new Toy("robot", 85);
Проверьте, что‹/›

Вызов функции с помощью вызова без указания параметров

В следующем примере мы вызвали функцию display без передачи параметров:

var name = "Seagull";
function display() {
  document.write(this.name);
}
display.call();
Проверьте, что‹/›