English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O call() permite que uma função pertencente a um objeto/O método é atribuído a outro objeto e chamado.
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("queijo", 12);Teste veja‹/›
No exemplo, o call() dirige-se para a função/O método fornece um novo valor this. Ao invocar, você pode escrever uma vez o método e, em seguida, herdá-lo em outro objeto, sem precisar reescrever o método para o novo objeto.
Você pode usar call() para conectar os construtores de objetos, como no 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);Teste veja‹/›
No exemplo a seguir, chamamos a função display sem passar parâmetros:
var name = "Seagull"; function display() { document.write(this.name); } display.call();Teste veja‹/›