2012-06-15 48 views
1

這裏有兩個部分的問題。基本上,javascript函數位置的正確做法是什麼?我認爲這將有幾個MyScriptFile.js文件,每個文件有幾個功能,而不是一個巨大的AllMyScripts.js文件,因爲不是每個頁面都需要每個功能。Javascript .js文件指南 - 如何使用此文件之外的功能?

但是我不知道如何從這個文件外引用其他功能...

我的情況:我使用的是在我的許多頁面的AJAX請求。每個請求響應都是不同的(從不同的文件中提取等),並且很難做出動態的(一個腳本適合所有人都很困難)。但是,我的MakeAJAXRequest()函數創建了請求對象,這對所有的DoSomethingWithRequest()函數都是標準的。

如何在包含DoSomethingWithRequest()函數的其他文件中包含MakeAJAXRequest()?看起來好像我應該能夠找到這個......但我沒有遇到它。

tl; dr我有MakeObject.jsUseObject.jsUseObject()如何參考MakeObject()

編輯:研究發現,如果包括MakeObject之前UseObject在你的HTML標記<script>UseObject將能夠引用MakeObject。似乎還有點骯髒,因爲任何想要使用UseObject腳本的人都必須知道MakeObject依賴關係...

+1

檢查thsi出來:http://stackoverflow.com/questions/950087/include-javascript-file-inside-javascript-file –

+0

我看到了這篇文章,但它似乎一個簡單的包括一點密集。這些.js文件只有函數。是否真的不可能按照'newObject = /myDir/mySubDir/MakeObject.js.MakeObject()'的方式做些什麼? – StuckAtWork

回答

0

如果要確保加載依賴關係,可以使用如下函數: http://phpjs.org/functions/include:433還有include_once()require()require_once()

+0

這並不意味着我再加載一個額外的函數,爲了包含我的函數? – StuckAtWork

+0

呀,但是你只需要在HTML頁面上包含一個文件,然後關閉其他文件。所以你不必記得包含你的依賴關係。這不是你想要的嗎? 「如何在包含DoSomethingWithRequest()函數的其他文件中包含MakeAJAXRequest()?」這是如何的,你會做這種依賴關係。 – solidau

+0

我會試試看。它將解決任何其他人需要執行包含的問題,但它並不真正節省文件大小(實際上,包含更多的代碼來執行包含操作,而不是簡單地複製/粘貼MakeAJAXRequest()腳本),但委託人是因此我可以僅對MakeAJAXRequest.js進行更改並使其傳播(這是主要目的)。謝謝! – StuckAtWork

相關問題