假设我有以下代码:
var app = {};
app.post = {
foo: function() {
// defining a variable without the 'var' keyword inside a function.
bar = "Hello!";
}
}
我认为我定义bar
变量的方式不好。我知道您不应该拥有全局变量。但是,我将其定义在一个物体内部的方法内。
是不良习惯吗?
是的,这仍然是一个不好的做法。
没有严格的模式,这将导致bar
被隐式声明为全局。通过严格的模式,这将导致错误。
始终使用var
声明新变量,无论范围如何(尤其是在内部范围)。