有没有办法访问闭包内的 "arguments" 对象?
Is there a way to access the "arguments" object inside of a closure?
我有一个闭包,我想从闭包内部访问参数到闭包。这可能吗?
function outerFunction (param1, param2) {
// Returns [param1, param2, [param1, param2]]
return function innerFunction () { return [param1, param2, arguments] }
}
// [1, 2, [1, 2]]
console.log(outerFunction(1, 2)(3, 4));
arguments
是一种特殊的野兽,在草率模式下与严格模式下遵循不同的规则。它是 array-like,但不是真正的数组。但没有必要使用它。只需使用 rest parameter syntax:
function outerFunction (param1, param2) {
return function innerFunction (...args) {
return [param1, param2, args];
};
}
let result = outerFunction(1, 2)(3, 4);
console.log(result); // [1, 2, [3, 4]]
我有一个闭包,我想从闭包内部访问参数到闭包。这可能吗?
function outerFunction (param1, param2) {
// Returns [param1, param2, [param1, param2]]
return function innerFunction () { return [param1, param2, arguments] }
}
// [1, 2, [1, 2]]
console.log(outerFunction(1, 2)(3, 4));
arguments
是一种特殊的野兽,在草率模式下与严格模式下遵循不同的规则。它是 array-like,但不是真正的数组。但没有必要使用它。只需使用 rest parameter syntax:
function outerFunction (param1, param2) {
return function innerFunction (...args) {
return [param1, param2, args];
};
}
let result = outerFunction(1, 2)(3, 4);
console.log(result); // [1, 2, [3, 4]]