簡體   English   中英

為什么必須在body標簽而不是head中初始化全局變量

[英]Why do you have to initialize global variables within the body tags and not the head

在javascript中,初始化全局變量時,

<head>
      <script type='text/javascript'>
       var globalvar = 'asdf';
      </script>

</head>

不會初始化全局變量,而

 <body>
    <script type='text/javascript'>
       var globalvar = 'asdf';
    </script>
 </body>

將初始化變量。
是否有一個原因?

這是完全錯誤的:您在頭中初始化的變量與另一個變量一樣全局。

沒有區別。

但是請確保在分配變量后使用變量,而不是在分配變量之前。

更新:可以在http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf上找到javascript或ECMAscript標准以下我的回答可能並不完全正確,至少不是從標准的觀點。 這是因為AFAIK標准沒有指定應在何時發生onLoad事件或在onLoad發生時如何設置全局環境。


定義globalvar位置沒有什么區別。 但是,根據您使用的Web瀏覽器,您可能必須等待頁面加載事件發生,然后變量才可用。 因此,一般建議不要在頁面加載事件發生之前執行任何訪問全局變量的JavaScript代碼。 要在頁面加載時得到通知,您可以使用類似<BODY onLoad="alert('hello world!')"> 文檔加載完成后,瀏覽器將觸發onLoad。

// jk

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM