gpt4 book ai didi

javascript - 为什么返回 Function.prototype.call() 的函数在这里表现不同?

转载 作者:行者123 更新时间:2023-11-28 14:45:14 25 4
gpt4 key购买 nike

> Array.prototype.slice.call('1, 2, 3');
// returns: [ '1', ',', ' ', '2', ',', ' ', '3' ]

但是:

> function toArray() {
... return Array.prototype.slice.call(arguments);
... };

> let some = toArray('1, 2, 3');
> some // returns [ '1, 2, 3' ]

这是为什么呢?作为参数传递的内容是相同的,但结果不同。

最佳答案

参数 != '1, 2, 3'

arguments 是一个类似数组的对象,包含所有参数,它不是第一个参数。

return Array.prototype.slice.call(arguments[0]);

... 是等价的。

关于javascript - 为什么返回 Function.prototype.call() 的函数在这里表现不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46609515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com