在javascript中,我不应该为命名空间命名吗?
在Google JavaScript样式指南的命名章节中,它说:
//Do not alias namespaces.
myapp.main = function() {
var namespace = some.long.namespace;
namespace.MyClass.staticHelper(new namespace.MyClass());
};
Run Code Online (Sandbox Code Playgroud)
但我无法完全理解这个问题.为简洁起见,为什么不使用命名空间?
您更改this,这可能会破坏别名命名空间中的函数.例:
var foo = {
bar: function () {
console.log(this.baz);
},
baz: 42
};
foo.bar(); // prints 42
var alias = foo.bar;
alias(); // prints undefined, because `this` is no longer `foo`
Run Code Online (Sandbox Code Playgroud)