这是否被认为是对范围和变量的不良做法



假设我有以下代码:

var app = {};
app.post = {
    foo: function() {
        // defining a variable without the 'var' keyword inside a function.
        bar = "Hello!";
    }
}

我认为我定义bar变量的方式不好。我知道您不应该拥有全局变量。但是,我将其定义在一个物体内部的方法内。

是不良习惯吗?

是的,这仍然是一个不好的做法。

没有严格的模式,这将导致bar被隐式声明为全局。通过严格的模式,这将导致错误。

始终使用var声明新变量,无论范围如何(尤其是在内部范围)。

最新更新