在Javascript严格模式下,您可以将参数分配给另一个变量

In Javascript strict mode can you assign arguments to another var?

本文关键字:参数 分配 变量 另一个 Javascript 模式      更新时间:2023-09-26

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

我正在验证的规则是关于严格模式下的"eval"answers"arguments"行为。

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

在阅读一些文档时,从Firefox的严格模式到IE的严格模式,我发现的规则基本上是(适用于这种情况):

  1. 我不能有任何名为arguments的变量/函数等,因为这是一个保留字
  2. 无法绑定参数

但是,上面的示例代码似乎违反了Sonar规则

var args = arguments;

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

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

请注意,由于args现在指向arguments,因此也不能修改。但它可以正常读取。

更新:修复将在新发布的Javascript插件(1.5)下提供。