0

假设我的项目中有以下 JavaScript 代码:

function foo(){
  console.log(arguments);         
}

当我在它上面运行 Sonar JavaScript 插件时,它会注册以下错误:

“eval”和“arguments”不得绑定或赋值

知道为什么吗?我知道这个错误只有在 arguments分配给变量或用作参数名称时才会发生,但这里也不是这种情况。

4

2 回答 2

1

已经报告了此问题的错误,如此处所述:- http://jira.codehaus.org/browse/SONARPLUGINS-2843

1.4 sonar javascript 插件预计将于 8 月 15 日发布。

于 2013-08-01T09:08:20.693 回答
1

Sonar 中对规则的描述解释得很清楚:“参数”是一个隐式变量,可以访问函数的参数,这是一个索引属性。因此,您不太可能希望像所显示的那样传递这个变量(它看起来只是一个调试代码),并且大多数时候这样做应该引起注意(只有技术 JS 堆栈/框架应该需要这样做) .

于 2013-07-31T08:06:00.020 回答