js callの方法

1305 ワード

コールの方法は何に使いますか?
javascriptではcall方法についての詳細な解説があります.雲を追って-ブログ園
thisポインタを指定します
The call()method cars a function with a given this value and argments provided individually.以下のようにtest関数が呼び出されたら.thisは誰ですか?デフォルトの値を設定できます.特定のthisを入力したい場合は?コール方法を使います.
function test(){
    alert(this);
    alert(this.name);
    alert(this.age)
};


var lisi= {name: "  ", age: 20};
//      this       obj
test.call(lisi); // [object Object]    20
簡単に言えば、thisに値を指定するものです.
thisを指定しながら関数にいくつかのパラメータを入力します.
次のようにProduct.call(this, name, price);という文があります.
function test(a,b){
    alert(this);
    alert(a+b)
};


var lisi= {name: "  ", age: 20};
//      this       obj
test.call(lisi,2,3); // [object Object] 5
実現類の継承
function Product(name, price) {
  this.name = name;
  this.price = price;
}

function Food(name, price) {
  Product.call(this, name, price);
  this.category = 'food';
}

var cheese = new Food('feta', 5);

alert(cheese.name);//feta
alert(cheese.price);//5
alert(cheese.category);//food
まとめて、この二つの機能はあまり関係がないようです.
dodge
参照
Function.prototype.call()-JavaScript|MDN JavaScript Function.call()関数詳細解-CodePlayer javascriptにおけるcall方法の詳細解-クラウドを追う-ブログパークコール方法(Function)(JavaScript)