bind,call,apply的区别
Posted 嘿嘿林子伟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bind,call,apply的区别相关的知识,希望对你有一定的参考价值。
function cat(){
}
cat.prototype={
food:"fish",
say: function(){
alert("I love "+this.food);
}
}
var blackCat = new cat;
blackCat.say();
但是如果我们有一个对象whiteDog = {food:"bone"},我们不想对它重新定义say方法,那么我们可以通过call或apply用blackCat的say方法:blackCat.say.call(whiteDog);
如果我们想以func()的方式调用,就可以使用bind:
var func = cat.prototype.say.bind(whiteDog);
func();//即可以达到和call,apply同样效果
以上是关于bind,call,apply的区别的主要内容,如果未能解决你的问题,请参考以下文章