![](/img/trans.png)
[英]Putting Twitter Widget's Javascript within <Head> tags, but have it rendered in <Body>
[英]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.