有没有一种方法可以更改函数's来自另一个javascript函数的参数
Is there a way to change a function's arguments from another javascript function?
我正在尝试更改另一个函数内的函数参数,然后将其返回给被调用函数。我正在尝试这样的东西:
function func(a,b,c) {
console.log(arguments, a, b, c); //[1, true, "a"] 1 true "a"
arguments[0] = 2;
console.log(arguments, a, b, c); //[2, true, "a"] 2 true "a"
arguments = ArgumentsToNumber.apply(this, arguments);
console.log(arguments, a, b, c); //[2, 1, NaN] 2 true "a"
}
function ArgumentsToNumber() {
for (let i = 0; i < arguments.length; i++) {
arguments[i] = Number(arguments[i]);
}
return arguments;
}
func(1, true, 'a');
我想要更改a
、b
和c
变量。
您必须传递Arguments对象本身,而不是像apply
:中那样将其用作数组
function func(a, b, c) {
console.log(a, b, c); // 1, true, "a"
arguments[0] = 2;
console.log(a, b, c); // 2, true, "a"
argumentsToNumber(arguments);
console.log(a, b, c); // 2, 1, NaN
}
function argumentsToNumber(args) {
for (let i = 0; i < args.length; i++)
args[i] = +args[i];
}
func(1, true, 'a');
请注意,更改另一个函数中的参数会导致性能不佳。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- AngularJS:我可以跳过函数参数回调吗
- 为什么不'我们在javascript中使用函数参数的数据类型
- 使用闭包共享构造函数参数
- 函数参数的值错误
- 当一个重要的构造函数参数丢失时应该发生什么
- 阻止ReSharper将JavaScript函数参数放到新行中
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 使构造函数参数具有ES6类方法的特权
- 当客户端将两个按钮的javascript函数参数修改为相同时,SQL/PHP会更新多行
- Windows.Networking.EndpointPair构造函数参数
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- 大括号中的Javascript函数参数
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 将JSON字符串转换为函数参数
- eval()读取函数参数有多糟糕
- Javascript不能在一个命令中使用函数参数
- 函数参数在内部不可见,返回新的Promise(函数(resolve,reject).传递给被promise化的函数的
- ES6类构造函数参数
- 是否可以在javascript函数参数列表中调用多个函数