javascript - this.fn.apply(this, arguments) 是多余的吗?

标签 javascript

我刚刚在 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/

相关文章:

javascript - 如何从代码隐藏中读取JavaScript设置的文本框文本?

javascript - 从其他集合(不是引用)填充子字段

javascript - 为什么 iOS 上 Phonegap 中的新日期不返回任何内容?

javascript - 获取Javascript中值最高的前十个变量

javascript - 设置窗口标题栏的颜色 - electron.js

javascript - 更改 id 以填充 html 表

javascript - 如何从纯 JavaScript 函数中恢复源代码?

带有字符串键的 JavaScript 数组

Javascript 计时问题

javascript - 当通过 jQuery 为元素动态添加类时,未应用 CSS 样式