标签:
call是为了改变函数上下文context而存在的,换言之,就是改变函数内部this的指向。因为javascript存在【定义时上下文】,【运行时上下文】及【上下文】是可以改变的。例如:var func1 = function(arg1, arg2) {};
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();
标签:
原文地址:http://www.cnblogs.com/lengmeiyanok/p/5285621.html