假设我们有一个看起来像这样的对象:
Rfc2898DeriveBytes
调用var foo = {
bar: function(s){
return s + ' world!';
}
}
方法之间的区别如下:
foo.bar()
VS
var greet = foo.bar.call(foo, "Hello");
我从阅读this doc中理解的是,调用方法的第一个参数基本上设置了被调用方法的var greet = foo.bar("Hello");
上下文。但在这种情况下使用this
执行call
方法有什么好处?在什么情况下我应该考虑使用foo.bar()
来执行函数?
此外,何时需要将call
作为第一个参数传递给undefined
方法?例如:
call