Javascript 将null传递给Function.call()
正如您所看到的,我正在尝试使用不同函数的修改参数数组调用函数。我能想到的唯一方法是使用apply()方法并传递切片数组。我的问题是,有没有不同的方法?如果没有,那么我是否可以将null传递给apply(),或者这被认为是错误的做法 我的问题是,有没有不同的方法 不,是JavaScript中唯一能够运行以数组作为参数的函数的方法。但是,您仍然可以使用实际参数和函数:Javascript 将null传递给Function.call(),javascript,Javascript,正如您所看到的,我正在尝试使用不同函数的修改参数数组调用函数。我能想到的唯一方法是使用apply()方法并传递切片数组。我的问题是,有没有不同的方法?如果没有,那么我是否可以将null传递给apply(),或者这被认为是错误的做法 我的问题是,有没有不同的方法 不,是JavaScript中唯一能够运行以数组作为参数的函数的方法。但是,您仍然可以使用实际参数和函数: function outerFun(arg1, arg2, arg3){ function innerFun(arg1,
function outerFun(arg1, arg2, arg3){
function innerFun(arg1, arg2){
//do something
}
var innerArgs = Array.prototype.slice.call(arguments, 1);
innerFun.apply(null, innerArgs);
}
如果没有,那么我是否可以将null传递给apply(),或者这被认为是错误的做法
你可以,而且这不算坏习惯。函数的行为就像您在全局上下文中使用它一样。这还使您能够在具有多个参数的函数上使用数组
另见:
- MDN::
function outerFunc(arg1, arg2, arg3){
/* ... */
innerFun(arg2, arg3);
/* ... */
}