2017-08-09 33 views
0

在不同文件之間鏈接JavaScript函數的最佳方式是什麼?在這種情況下,BusinessObjectCategories()BusinessAddSiteStatusFunctionalities()未定義,因爲該函數位於另一個頁面中。我應該在JavaScript中獲取全局對象嗎?在不同文件之間鏈接JavaScript函數的最佳方式

**Doo.js** 
var Doo = new DooObject(); 



**Doo.Business.js** 
function BusinessObject() {} 

if (typeof Doo != undefined) { 
    Doo.Business = new BusinessObject(); 
    BusinessObjectCategories(); 
} 



**Doo.Business.Categories.js** 
function BusinessObjectCategories() {} 

if (typeof Doo != undefined) { 
    Doo.Business.Categories = new BusinessObjectCategories(); 
    BusinessAddSiteStatusFunctionalities(); 
} 



**Doo.Business.Categories.SiteStatus.js** 
function BusinessAddSiteStatusFunctionalities() {} 

回答

0

假設這只是示例代碼,它是關於如何構建項目。您可以輕鬆將所有功能分解爲不同的文件和export(MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export)。

然後,在您選擇的文件中,只需使用importhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)。

這是非常普遍的,並且允許你不污染你的全球範圍。同樣簡單,您可以將各種幫助功能放入文件中,並將需要的特定功能放入特定文件中。這樣,你就不會分裂這麼多不同的文件,而且你還沒有污染你的全球範圍。

0

除非你想要經歷無數的箍筋,難以閱讀的代碼和許多令人頭痛的問題......你會想要使用一個JavaScript框架,如Angular爲了將面向對象的概念應用於javascript,而不必編寫醜陋的東西:

MyParentFunction.call(this); 

像Angular這樣的Javascript框架允許您在大多數面向對象的語言中使用繼承。

class MyChildrenClass implements MyParentClass { } 

如果你絕對想用香草javascript做,請給this一個閱讀。

相關問題