call和apply的区别:
在javascript中我们经常这样定义:
function coffee(){ }; coffee.prototype={ season:"suger", suger.function(){ } } var milk=new coffee; season.food();
但是如果我们有一个对象whiteDog = {food:"bone"},
我们不想对它重新定义say方法,
那么我们可以通过call或apply用blackCat的say方法:
就是调用的意思:
blackCat.say.call(whiteDog);
那么,call和apply的区别就是:
call:以连续参数的形式展示
apply:以数组的形式展示
obj.call(thisObj, arg1, arg2, ...); obj.apply(thisObj, [arg1, arg2, ...]);
时间: 2024-10-12 12:30:19