使用vs执行函数而不使用.call()方法

时间:2016-08-23 05:44:43

标签: javascript

假设我们有一个看起来像这样的对象:

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

0 个答案:

没有答案