English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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();Проверьте, что‹/›