JavaScript中,有了apply,为什么还要有call?

为什么js要设计两个如此相似的api出来呢?
我觉得,有apply就够了呀。
有没有大佬出来讲一讲。

注意我问的不是这两个api怎么用,用在什么场景下。我知道他们的区别,但我不明白这样设计的意图。

最佳答案

反了。

先有的 call,再有的 apply

call 有先天不足,即必须显式的提前声明好这些形参。

你要非刨根问底的为啥不最开始一步到位直接有 apply,那只能说制订 ECMA-262 那帮人当时没考虑到。