对于范围和变量,这被认为是一种不好的做法吗?

时间:2015-05-09 13:09:44

标签: javascript design-patterns

假设我有以下代码:

var app = {};

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

我认为我定义bar变量的方式并不好。我知道你不应该有全局变量。但是,我在一个对象内部的方法中定义它。

这是一种不好的做法吗?

1 个答案:

答案 0 :(得分:3)

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

如果没有strict mode,这会导致bar被隐式声明为全局。使用严格模式,这会导致错误。

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