gpt4 book ai didi

javascript - 在没有 .apply() 的情况下将参数作为数组传递

转载 作者:行者123 更新时间:2023-11-30 18:20:22 25 4
gpt4 key购买 nike

我试图找出是否有一种方法可以在不使用 .apply 方法的情况下将参数作为数组传递给 javascript 函数。从用户的 Angular 来看,代码看起来像这样:

var args = [1, 2, 3, 4];
doSomething(args);

请注意,doSomething() 不会始终是同一个函数,因此我不能将其编写为使用参数数组。理想情况下,这应该适用于任何函数,我想我想做的基本上是将数组转换为类似参数数组的对象。

我在想我可以像这样设置函数参数对象:

function.arguments = otherArguments;

但我不知道什么时候我必须这样做(一旦函数开始执行但在它实际对其参数执行任何操作之前我是否必须以某种方式执行此操作?)

我尝试这样做的原因是因为我正在尝试编写自己的 .apply 函数以用于学习目的。这可能吗?

最佳答案

不,没有办法。一种功能的一种工具,选择之一是 apply .

如果您需要编写自己的函数而不使用 apply,则需要使用 eval:

function apply(fn, thisObj, args) {
var obj = {fn: fn};
var str = "obj.fn(";
for (var i=0; i<args.length; i++)
str += (i?',':'') + "args["+i+"]";
str += ");";
return eval(str);
}

关于javascript - 在没有 .apply() 的情况下将参数作为数组传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12185019/

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