1

通常在 Javascript 中,如果您arguments从函数内部引用“魔术”变量,它将包含传递给函数的所有参数。但是,在 Chrome 开发者工具(在 Linux 上)中,这不会发生。如果你:

  1. debugger向没有任何声明参数的函数添加语句
  2. 做一些事情来用一个参数触发那个函数
  3. 当 Chrome 在线暂停时,从控制台debugger检查。arguments

你会看到它arguments是空的。现在,只需在函数上声明参数就可以很容易地解决这个问题;换句话说,如果你这样做:

function(a,b,c) {
    debugger;
}

代替:

function() {
    debugger;
}

arguments 有参数(或至少前三个)。

但是,这确实没有必要,这让我想到了我的问题:是否有任何设置可以更改,或者我可以做些什么来解决此问题,只需让 Chrome 将每个传入的参数放入arguments,不只是声明的?

4

1 回答 1

1

这最近已在 V8 JavaScript 引擎中重做。很快它将进入 Chrome 代码库,最终将进入稳定版本(可能是 28. . .* ?)。

于 2013-04-05T15:33:10.917 回答