Javascript类层次结构(有这样的事吗?)

时间:2015-02-24 13:43:10

标签: javascript

来自.net背景,我想重构我的html / js应用程序。

我正在将函数移动到单独的js文件中。

我如何(我可以)在类层次结构中构建我的函数?

myAppFunctions.ui

  Function A

myAppFunctions.db

  Function B

myApFunctions.math

  Function C

我想在我的页面添加一个js链接,并使用它来调用它们,即。 myAppFunctions.math.C

另外,如何将值返回到顶级调用代码?

我不是在寻找继承,此时实例化对象等。我只需要一个很好的方法来构建我的代码,这样才有意义。

由于

2 个答案:

答案 0 :(得分:2)

JavaScript没有名称空间,但它们通常与嵌套对象近似。如果要在多个文件之间拆分函数,每个文件必须初始化整个对象层次结构,,您需要保证页面中文件包含的顺序。

通常情况下,每个文件初始化对象层次结构会更好,这样您就不会不必要地构建跨文件依赖项:

file1.js

window.myAppFunctions = window.myAppFunctions || {}
window.myAppFunctions.ui = {}

window.myAppFunctions.ui.functionA = function () { /* ... */ }

file2.js

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) );