处理此命名空间 JavaScript 结构的最佳方法是什么?
What is the best way to deal with this Namespace JavaScript Structure?
我有一个对象作为具有三个主要对象的命名空间。我调用这个对象一次,之后它就自己工作了。
我的代码结构如下:
var Application = Application || {};
Application.Module1 = {
//Code with some functions
}
Application.Module2 = {
//Code with some functions
}
Application.Module3 = {
//Code with some functions
}
(function(){
Application.Module1.Start();
})();
主要是模块之间的工作。例如,当我在模块 1 中时,我想调用模块 2 中的一个函数,例如:
Module2.randomFunction();
而不是:
Application.Module2.randomFunction();
但我认为去是个坏主意
Application.Module1.Start.call(Application)
因为我也在使用其他对象,例如 jQuery。
您认为正确的方法是什么?
您可以使用这样的模式 -
var Application = (function() {
var Module1 = {
function1 : function() {
console.log("function1");
Module2.function2();
}
};
var Module2 = {
function2 : function() {
console.log("function2");
}
};
var Module3 = {
function3 : function() {
console.log("function3");
}
};
return {
Module1: Module1,
Module2: Module2,
Module3: Module3
}
})();
Application.Module1.function1();
我有一个对象作为具有三个主要对象的命名空间。我调用这个对象一次,之后它就自己工作了。
我的代码结构如下:
var Application = Application || {};
Application.Module1 = {
//Code with some functions
}
Application.Module2 = {
//Code with some functions
}
Application.Module3 = {
//Code with some functions
}
(function(){
Application.Module1.Start();
})();
主要是模块之间的工作。例如,当我在模块 1 中时,我想调用模块 2 中的一个函数,例如:
Module2.randomFunction();
而不是:
Application.Module2.randomFunction();
但我认为去是个坏主意
Application.Module1.Start.call(Application)
因为我也在使用其他对象,例如 jQuery。
您认为正确的方法是什么?
您可以使用这样的模式 -
var Application = (function() {
var Module1 = {
function1 : function() {
console.log("function1");
Module2.function2();
}
};
var Module2 = {
function2 : function() {
console.log("function2");
}
};
var Module3 = {
function3 : function() {
console.log("function3");
}
};
return {
Module1: Module1,
Module2: Module2,
Module3: Module3
}
})();
Application.Module1.function1();