[英]Javascript class hierarchy (Is there such a thing?)
來自.net背景,我想重構我的html / js應用程序。
我正在將函數移動到一個單獨的js文件。
我如何(我可以)在類層次結構中構建我的函數?
myAppFunctions.ui
Function A
myAppFunctions.db
Function B
myApFunctions.math
Function C
我想在我的頁面添加一個js鏈接,並使用它來調用它們,即myAppFunctions.math.C
另外,如何將值返回到頂級調用代碼?
我不是在尋找繼承,此時實例化對象等。 我只需要一個很好的方法來構建我的代碼,這樣才有意義。
謝謝
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 () { /* ... */ }
等等
看起來你只想要命名空間,所以使用一個對象。
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) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.