我只是想知道在javascript中使用命名空间的“最佳”方式是什么。我知道这已被问了一百万次,但我已经看过很多方法,包括简单地声明一个对象作为你的命名空间包含它的相关变量和方法。这是首选方式还是更好地使用protype结构,如:
function Namespace() {
}
Namespace.prototype.newMethod = function() {
};
//...
// now to use this:
var namespace = new Namespace();
namespace.newMethod();
我也想知道为什么一种方法优于另一种方法。
答案 0 :(得分:1)
当您创建Namespace
“类”的实例时,通常只使用原型方法。如果这些方法是静态的(由其他OO语言定义),那么只需创建一个对象并在其上粘贴函数即可。
换句话说,使用您的代码,您将无法拨打Namespace.newMethod()
。但是你可以做(new Namespace()).newMethod()
。每种方法都是为了解决不同的问题。