假设我的项目中有以下 JavaScript 代码:
function foo(){
console.log(arguments);
}
当我在它上面运行 Sonar JavaScript 插件时,它会注册以下错误:
“eval”和“arguments”不得绑定或赋值
知道为什么吗?我知道这个错误只有在 arguments
分配给变量或用作参数名称时才会发生,但这里也不是这种情况。
假设我的项目中有以下 JavaScript 代码:
function foo(){
console.log(arguments);
}
当我在它上面运行 Sonar JavaScript 插件时,它会注册以下错误:
“eval”和“arguments”不得绑定或赋值
知道为什么吗?我知道这个错误只有在 arguments
分配给变量或用作参数名称时才会发生,但这里也不是这种情况。
已经报告了此问题的错误,如此处所述:- http://jira.codehaus.org/browse/SONARPLUGINS-2843
1.4 sonar javascript 插件预计将于 8 月 15 日发布。
Sonar 中对规则的描述解释得很清楚:“参数”是一个隐式变量,可以访问函数的参数,这是一个索引属性。因此,您不太可能希望像所显示的那样传递这个变量(它看起来只是一个调试代码),并且大多数时候这样做应该引起注意(只有技术 JS 堆栈/框架应该需要这样做) .