在Javascript严格模式下,您可以为另一个var分配参数吗?

时间:2013-11-21 17:33:58

标签: javascript strict

我正在尝试通过Sonar验证Javascript代码,我对严格模式规则有疑问。

我正在验证的规则是"eval" and "arguments" behavior in strict mode

在阅读此规则说明时,我似乎无法将参数分配给新变量,以便稍后或循环访问它。

在阅读一些文档时,从strict mode on Firefoxstrict mode on IE我发现的规则基本上是(适用于这种情况):

  1. 我不能拥有任何名为 arguments 的变量/函数/ etc,因为这是一个保留字。
  2. 参数无法绑定
  3. 但是,上面的示例代码似乎违反了声纳规则

    var args = arguments;
    

    那么,这是假阳性还是这段代码违反严格模式

1 个答案:

答案 0 :(得分:2)

根据用户的答案和一些研究,我发现此代码var args = arguments;有效,因为它不是修改参数,而是只将它分配给另一个变量。

请注意,由于args现在指向arguments,因此也无法对其进行修改。但它可以正常阅读。

新版Javascript插件(1.5)下的

更新: Fix will be available