用來改變函數的this對象的指向
var xw={ name: "小王", gender: "男", age: 24, say: function(){ alert(this.name+" , "+this.gender+" ,今年"+this.age); } } var xh={ name: "小紅", gender: "女", age: 18 } xw.say();
調用:數組
xw.say.call(xh); xw.say.apply(xh); // call和apply都是對函數的直接調用,而bind方法返回的仍然是一個函數 xw.say.bind(xh)();
在有參數的狀況下call和apply產生區別:app
var xw={ name: "小王", gender: "男", age: 24, say: function(school,grade){ alert(this.name+" , "+this.gender+" ,今年"+this.age+" ,在"+school+"上"+grade); } } var xh={ name: "小紅", gender: "女", age: 18 }
調用形式:函數
xw.say.call(xh,"實驗小學","六年級"); xw.say.apply(xh,["實驗小學","六年級"]); xw.say.bind(xh,"實驗小學","六年級")();