在重新声明变量 (JS) 时遇到了问题

Gotcha's in redeclaring a variable (JS)

本文关键字:遇到 问题 JS 变量 声明 新声明      更新时间:2023-09-26

所以...我最近开始通过JSHint运行我的代码,它对以下内容的抱怨:

function myfunc(config){
    var config = Ext.apply({},config,{});
    //Ext.apply is used as a deep object clone, to check for defaults ,  
    //typeof config !==null, etc 
}

"VaR 配置已定义"

我有点认为它只是工作,到目前为止还没有真正遇到任何问题。

重新声明这样的变量有什么问题?(如果您知道如何操作,如何在 JSHint 中禁用警告?

var config引入了一个新的局部范围的变量,该变量从外部作用域隐藏任何同名变量。在您的情况下,您将在已定义的同一范围内重新声明变量,因此它实际上按预期工作,但您不需要var声明,因为config已经在本地范围内。

只是说config已经声明了,因此您应该删除var因为它毫无用处。这就像卖掉你的车来买同一辆车。