我在 stackoverflow 和网络上搜索,无法得到正确的结果或解释这三种方法之间的位置差异。
据我了解,他们都执行相同的操作function/method in different context.
var google = {
makeBeer : function(arg1,arg2){
alert([arg1, arg2]);
}
}
google.makeBeer('water','soda');
这是我的google对象的正常功能。现在,当我在这里使用调用和绑定方法时,这是输出。
var google = {
makeBeer: function (arg1, arg2) {
alert([arg1, arg2]);
}
}
google.makeBeer('water', 'soda');
function yahoo() {}
var yah = new yahoo();
google.makeBeer.call(yah, 'pepsi', 'coke');
function msn() {
}
var msn = new msn();
google.makeBeer.call(msn, 'sprite', 'limca');
我仍然没有看到这样做的目的,我可以继续打电话给google.makeBeer three times with different arguments.
任何人都可以在这方面给我更多启发。