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);テストを見て‹/›
例ではcall()関数に/新しい値thisを提供します。呼び出すことで、一度方法を書き、別のオブジェクトでその方法を継承することができますが、新しいオブジェクトにその方法を再定義する必要はありません。
Javaと同様に、call()を使用してオブジェクトのコンストラクタをリンクすることができます。
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();テストを見て‹/›