2017-08-09 28 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:)を簡単に分割できます。

次に、選択したファイルにimporthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)と入力してください。

これは非常に一般的なことで、グローバルスコープを汚染しないようにします。同様に、ファイル内にさまざまなヘルパー関数を配置し、特定のファイルに必要な特定の機能をimportに簡単に組み込むことができます。このように、あなたは非常に多くの異なるファイルに分かれていませんし、あなたはまだグローバルスコープを汚染していません。

0

コードや多くの頭痛を読むのが難しいのでなければ... Angularのようなjavascriptフレームワークを使用して、オブジェクト指向の概念をjavascriptに適用すると、醜いものを書く必要はありません:

MyParentFunction.call(this); 

AngularのようなJavascriptフレームワークでは、ほとんどのオブジェクト指向言語と同様に継承を使用できます。

class MyChildrenClass implements MyParentClass { } 

どうしてもバニラはJavaScriptを使用してそれを実行したい場合は

this読み取りを与えます。

関連する問題