通常在Javascript中,如果从函数内部引用“magic”arguments
变量,它将包含传递给函数的所有参数。但是,在Chrome开发人员工具(Linux上)中,这种情况并未发生;如果你:
debugger
语句debugger
行暂停时,请从控制台中检查arguments
。您会看到arguments
为空。现在,通过在函数上声明参数,可以很容易地修复它;换句话说,如果你这样做:
function(a,b,c) {
debugger;
}
而不是:
function() {
debugger;
}
arguments
将拥有参数(或至少是前三个参数)。
然而,这真的不应该是必要的,这引出了我的问题:是否有任何我可以改变的设置,或者我还能做些什么来解决这个问题并让Chrome放入每个传入的参数进入arguments
,而不只是声明的那些?
答案 0 :(得分:1)
最近在V8 JavaScript引擎中重做了这个。很快它将进入Chrome代码库,最终将进入稳定版本(可能是28. 。。*?)。