2016-12-01 55 views
0

比方說,我想顯示Family Guy的所有季節作爲一個數字。 (15) 但當然會有更多的季節,所以我將不得不在每個文件中更改15到16等等。 這對於我想爲值創建一個變量,所以我只需要爲所有文件更改一次。從另一個JavaScript文件導入變量

外部js.script

var seasons = "15"; 
document.getElementById('seasons').innerHTML = seasons; 

所以現在我想在我的HTML文件中的變量:

<div id="seasons"></div> 

它的工作原理,但後三個變量的所有其他不顯示。

有沒有更好的方法在外部文件中創建變量?

+1

你是什麼意思「但後三個變量的所有其他不顯示」?變量的數量不應該改變這裏的功能。 –

+0

我有同樣的問題,前三個變量將顯示,但然後我得到一個錯誤:「無法設置屬性'innerHTML'爲null」即使它的前三(我的變量在這個階段是相同的)相同。 –

回答

2

如果您的應用程序需要一組常量,那麼將它們加載到名稱空間並將其加載到其他任何代碼之前通常是一個好主意。

/* app.js */ 
 
// Create the namespace 
 
var App = {}; 
 

 
App.Constants = { 
 
    FAMILY_GUY: 15, 
 
    SIMPSONS: 28, 
 
    FUTURAMA: 7 
 
}; 
 

 
/* family-guy.js */ 
 
document.getElementById('familyGuy').innerHTML = App.Constants.FAMILY_GUY; 
 

 
/* simpsons.js */ 
 
document.getElementById('simpsons').innerHTML = App.Constants.SIMPSONS; 
 

 
/* futurama.js */ 
 
document.getElementById('futurama').innerHTML = App.Constants.FUTURAMA;
<div id="familyGuy"></div> 
 
<div id="simpsons"></div> 
 
<div id="futurama"></div> 
 

 
<!-- 
 
Imagine you're loading your files like this 
 
<script src="app.js"></script> 
 
<script src="family-guy.js"></script> 
 
<script src="simpsons.js"></script> 
 
<script src="futurama.js"></script> 
 
-->

+0

謝謝!但是,有沒有比創建大量的小js腳本文件另一種方式? – Timo

+0

@Timo您可以製作儘可能多或更少的文件。這完全取決於你。理論上你可以把所有這些寫在一個文件中。這將向您展示如何創建一個全局變量「App」,它保存您的常量而不是單個變量。 –

相關問題