编程语言
首页 > 编程语言> > javascript – 适用于/在变量声明中

javascript – 适用于/在变量声明中

作者:互联网

在for / in循环中声明循环特定变量的正确语法是什么?

前两个似乎都工作(并且不会在Google Closure Compiler中引发任何标志),但只有第三个通过了Crockford的JS Lint.我不愿意使用它,主要是因为它不紧凑.

JSLint抱怨val是一个坏变量(当我不添加var时),或者应该移动声明.

第一个或第二个选项有任何缺点吗?我该怎么用? (示例假设str是声明的字符串,val是声明的对象)

1.没有声明:

for(val in vals)
{
    if(vals.hasOwnProperty(val))
    {
        str += val;
    }
}

2.在’for’var声明中:

for(var val in vals)
{
    if(vals.hasOwnProperty(val))
    {
        str += val;
    }
}

3.循环var声明之外:

var val;
for(val in vals)
{
    if(vals.hasOwnProperty(val))
    {
        str += val;
    }
}

解决方法:

随意忽略JSLint.这比任何事情都更准确.第二和第三功能相同,随意使用(我使用第二个).第一个暴露了一个全局’val’变量,所以不要这样做:)

仅供参考,第三个原因是内联变量声明比发现/查找要困难得多:

var a, b, c, d, e;

在函数的顶部.

标签:javascript,syntax,for-in-loop
来源: https://codeday.me/bug/20190621/1255416.html