2011-08-20 78 views
0

這是我的文檔如何寫出的基礎。我有一個外部JavaScript文件位於head元素的頂部。在它下面,我編寫了它的參考內容。我期望,因爲代碼是低於文件它會工作,但它沒有。它只適用於將代碼包裝在window.onload()函數中。或者,如果我把代碼放在body元素的腳本中。儘管放置了我的外部JavaScript文件,但爲什麼我的代碼不工作?

<html> 
    <head> 
     <script type="text/javascript" src="myJavaScript.js"></script> 
     <script type="text/javascript"> 
      console.log(w); // w is a variable inside myJavaScript.js but throws an error stating "w is not defined". 
     </script> 
    </head> 
    <body></body> 
</html> 

爲什麼此代碼的行爲如此?我將該文件寫在調用其中的代碼的頂部,但它仍然不起作用。

編輯:我發現錯誤,這是我沒有在全球範圍內定義myJavaScript.js中的代碼。這就是爲什麼變量w從來沒有通過。

+0

這應該可以正常工作。我只是測試它(「myJavaScript.js」只包含'w = 10;'),它的行爲如預期。您的其他文件不能全局定義變量;你能告訴我們一些它的代碼嗎? –

+0

你說得對,我沒有把它定義在全球範圍內。謝謝。 – 0x499602D2

回答

2

你得表現出我們在myJavaScript.js的相關代碼讓我們知道到底發生了什麼,但很明顯,w未在全球範圍內定義在myJavasScript.jsmyJavaScript.js未被成功加載。

最有可能w實際上並不像您認爲的那樣是全局範圍的變量。

1

美元甜甜圈,w設置在onload

相關問題