我试图通过Sonar验证Javascript代码,我对严格的模式规则有一些疑问。
我正在验证的规则是关于严格模式下的“308”和“参数”行为的。
在读取此规则描述时,我似乎无法将参数赋值给新变量,以便以后或在循环中访问它。
在阅读一些文档时,我从Firefox上的严格模式和IE的严格模式中找到了一些基本的规则(适用于本例):
但是,上面的示例代码似乎违反了Sonar规则
var args = arguments;
所以,这是假阳性还是这段代码违反了严格模式?
发布于 2013-11-27 08:33:39
根据用户的回答和一些研究,我发现这个代码 (var args = arguments;
) 是有效的,因为它不是在修改参数,而是只将它赋值给另一个变量。
请注意,由于args
现在指向arguments
,所以也不能修改它。但它可以正常阅读。
更新:新版本的 修复将可用插件(1.5)。
https://stackoverflow.com/questions/20127986
复制相似问题