簡體   English   中英

Javascript類層次結構(有這樣的事嗎?)

[英]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沒有名稱空間,但它們通常用嵌套對象近似。 如果要在多個文件之間拆分函數,則每個文件必須初始化整個對象層次結構, 或者需要保證頁面中文件包含的順序。

通常,每個文件初始化對象層次結構更好,這樣您就不必不必要地構建跨文件依賴項:

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 () { /* ... */ }

等等

看起來你只想要命名空間,所以使用一個對象。

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM