标签:apply black type log doc keyword 不同的 node var
call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向。
因为 JavaScript 的函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。
function cat(){但是如果我们有一个对象whiteDog = {food:"bone"},我们不想对它重新定义say方法,那么我们可以通过call或apply用blackCat的say方法:blackCat.say.call(whiteDog);
}
cat.prototype={
food:"fish",
say: function(){
alert("I love "+this.food);
}
}
var blackCat = new cat;
blackCat.say();
与call和apply不同的是,bind绑定后不会立即执行。
add.bind(sub, 5, 3); //不再返回8
add.bind(sub, 5, 3)(); //8
参考链接:http://www.cnblogs.com/52fhy/p/5118877.html
标签:apply black type log doc keyword 不同的 node var
原文地址:http://www.cnblogs.com/littlewriter/p/6050509.html