【发布时间】:2019-03-25 15:34:38
【问题描述】:
The doc page of Reflect.apply() 在 MDN 网络文档中指出:
在 ES5 中,您通常使用 Function.prototype.apply() 方法 使用给定的 this 值和作为参数提供的参数调用函数 数组(或类似数组的对象)。
Function.prototype.apply.call(Math.floor, undefined, [1.75]);使用
Reflect.apply,这变得不那么冗长,更容易理解。
我很困惑。在 ES5 中,我通常使用(保留上面的示例):
Math.floor.call(undefined, [1.75]);
为什么有人要改用:
Function.prototype.apply.call(Math.floor, undefined, [1.75]);
P.S.:我的问题不是关于Reflect.apply(myFunction, myObject, args);
【问题讨论】:
-
@LeroyStav - 相似,但绝对不同,这是比较
Function.prototype.appy和Reflect.apply,上面询问Function.prototype.apply与someFunction.apply。 (不过,如果有直接的欺骗目标,我不会感到惊讶......) -
@T.J.Crowder,但公认的答案确实涵盖了特定的子问题。当涉及到这样的问题时,获得更多的背景信息总是很有价值的。所以是的,你是完全正确的,因为问题并不相同,但在我看来,“可能重复”问题的公认答案涵盖了所有基础,不是吗?
-
@LeroyStav - 如果是,它会,是的;只要其他问题的答案回答了这个问题,SO 并不要求问题完全相同。在我看来,没有一个答案能真正清楚地回答这个问题。 Oriol 顺便提到了一些关于阴影属性的内容,但仅此而已。无论如何,如果共识相反,我不会反对它。 :-)
-
@T.J.Crowder 我会接受任何模组移除:-)
标签: javascript apply