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);
テストを見て‹/›

例では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();
テストを見て‹/›