来自.net背景,我想重构我的html / js应用程序。
我正在将函数移动到单独的js文件中。
我如何(我可以)在类层次结构中构建我的函数?
myAppFunctions.ui
Function A
myAppFunctions.db
Function B
myApFunctions.math
Function C
我想在我的页面添加一个js链接,并使用它来调用它们,即。 myAppFunctions.math.C
另外,如何将值返回到顶级调用代码?
我不是在寻找继承,此时实例化对象等。我只需要一个很好的方法来构建我的代码,这样才有意义。
由于
答案 0 :(得分:2)
JavaScript没有名称空间,但它们通常与嵌套对象近似。如果要在多个文件之间拆分函数,每个文件必须初始化整个对象层次结构,或,您需要保证页面中文件包含的顺序。
通常情况下,每个文件初始化对象层次结构会更好,这样您就不会不必要地构建跨文件依赖项:
window.myAppFunctions = window.myAppFunctions || {}
window.myAppFunctions.ui = {}
window.myAppFunctions.ui.functionA = function () { /* ... */ }
window.myAppFunctions = window.myAppFunctions || {}
window.myAppFunctions.db = {}
window.myAppFunctions.db.functionB = function () { /* ... */ }
等
答案 1 :(得分:1)
好像你只想命名一些东西,所以使用一个对象。
var myAppFunctions = {};
myAppFunctions.ui = {
a : function () { console.log("a"); }
};
myAppFunctions.db= {
b : function () { console.log("b"); }
};
myAppFunctions.math= {
double : function(num) { return num * 2; },
half: function (num) { return num / 2; }
};
console.log( myAppFunctions.math.double(3) );