我刚刚在 JavaScript 代码库中遇到以下语句:
this.fn.apply(this, arguments);
根据我对apply
函数的理解,它的目的是改变this
的值。但是,由于函数所附加的同一个对象被传递给 apply
,我看不出这与以下内容有任何区别:
this.fn(arguments);
我的理解是正确的还是第一种方式有一些不同?
最佳答案
apply
采用参数数组,因此:
给定 arguments = [1,2,3]
。
this.fn.apply(this, arguments);
会给你:
this.fn(1,2,3);
但是:
this.fn(arguments);
会给你:
this.fn( [1,2,3] );
关于javascript - this.fn.apply(this, arguments) 是多余的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25060026/