我有多個.js文件下的一個命名空間,假設我的命名空間是foo
,每個文件中我有一個像下面的代碼:需要JavaScript頭文件嗎?
在文件utils.js
(function() {
window.foo = window.foo || {};
foo.utils = foo.utils || {};
foo.bar = foo.bar || {};
var utils = foo.utils;
var bar = foo.bar;
utils.helper1 = function(abc) {
var xyz = bar(abc);
...
}
})();
基本上在每個js文件,我想有像var utils = foo.utils
這樣的代碼,所以我不必每次都寫foo.utils
。但是,我必須在頂部寫foo.utils = foo.utils || {};
,因爲utils.js可能尚未加載。
我認爲要解決這一方法是有一個頭文件,並確保它總是首先加載,就基本宣告我的命名空間下的所有公共職能象下面這樣:
window.foo = windown.foo || {};
foo.bar = {};
foo.baz = {};
foo.utils = {};
有沒有更好的辦法?我不想確保我的js文件的加載順序。
3.在JavaScript插入之前(可能位於頭文件中),您可以在HTML中嵌入變量。但這不是一個理想的解決方案,因爲每次加載頁面時都會傳輸它(無緩存),並將HTML與JavaScript混合在一起。 –
@ ssc-hrep3 - 我想這在技術上是一個選項,但是您必須將該代碼複製到每個HTML文件中,並且它仍然是順序敏感的,因爲您必須在加載相關腳本之前將其複製。而且,如果您必須進行更改,則必須修改每個HTML文件。我想我看不出比我們已有的選項2更好。 – jfriend00
有趣的是,我沒有JavaScript的行業經驗,所以我認爲可能會有一些共識解決方案,或者一些我不知道的JavaScript魔法。謝謝! – Arch1tect