2010-03-16 31 views
2

如果我有兩個包含具有相同名稱的變量的js文件,我可以同時使用這兩個文件嗎?這些變數會引起衝突嗎?是不是類似jQuery文件?

謝謝。

+0

定義「同名」。完整的路徑?相同的封閉名稱?裏面有相同的方法嗎? – justkt 2010-03-16 18:07:38

+0

對不起。顯然我不能同時提問和吃午餐。我編輯了這個問題,謝謝。 – user295017 2010-03-16 18:21:05

回答

0

只要它們是不同的文件,就很安全。即使是一個file1.js?4file1.js?5工作在相同的位置......服務器可能會返回一些不同的查詢字符串。

例子:

<script type="text/javascript" src="scripts/file1.js?v=5"> 
<script type="text/javascript" src="scripts/file1.js?v=6"> 

他們可能是2個完全不同的文件,如果是的話那很好,他們都會運行。相同的名稱不是問題,同樣的實際文件可能會導致一些奇怪的行爲,如事件處理程序被連接並激發兩次等。

0

它們不會導致衝突。顯然他們必須在不同的地點。

<script src="scripts1/file.js"> 

<script src="scripts2/file.js"> 

應該沒問題。

3

是的,全局變量是顧名思義的全局變量。因此:

//file1.js 
x = 10; 

//file2.js 
alert(x); //will alert 10 

只要這兩個文件都包含在同一頁面中。

1

是的,之後聲明的變量會覆蓋首先聲明的變量。

想象一下,您的外部JavaScript只是嵌入在<腳本中,並且引用它的腳本> </script>。

所以,如果你有這樣的代碼(假設SCRIPT1,SCRIPT2和script3包括順序排列):

// script1.js 

var x = 1; 
var y = 2; 

// script2.js 

var x = 2; 

// script3.js 

alert(x); // 2 

而如果SCRIPT2和SCRIPT1在它們的順序交換了位置,script3將提醒「1」 。