我了解到,您可以通过在函数表达式或对象文字内限定类/对象的范围来模仿JavaScript中的名称空间。这样,包含对象或函数将为包含对象提供名称空间和范围。

但是要使这些对象正常工作,所有包含的对象都必须在同一文件中,对吗?

因为如果在两个不同的文件中有两个具有相同名称的名称空间/命名容器对象,则它们将根据我包含源文件的顺序相互覆盖。

File1.js

var Automtomobiles =
{
  function Wheel() { ... }
};


File2.js

var Automtomobiles =
{
  function Car() { ... }
};


如何跨多个文件跨越对象/类定义,但将它们保留在同一名称空间中?

最佳答案

使自动汽车成为全局对象

File1.js

var Automtomobiles = Automtomobiles || {};
Automtomobiles.wheel = function() {
}


File2.js

var Automtomobiles = Automtomobiles || {};
Automtomobiles.car = function() {
}

07-28 06:14