什麼樣的變量可以在JavaScript的函數之外聲明?我在理解下面的代碼時遇到了一些問題。在函數之外聲明變量
此代碼不影響subtitle
。
var element = window.document.getElementById("subtitle");
var test = "Changed!";
function check(){
element.innerHTML = test;
}
但是,如果我移動element
裏面的函數,那麼subtitle
元素更改爲「改變了!」。
var test = "Changed!";
function check()
{
var element = window.document.getElementById("subtitle");
element.innerHTML = test;
}
有沒有說window
對象不能被分配到var
外的函數的規則,有沒有在代碼中的錯誤的,或者我只是不理解JavaScript的變量?
當你說,它「按預期工作」,你的意思是,代碼加載正確,或當你執行它的功能你期望什麼? – murgatroid99
變量可以在任何地方聲明。如果你的第一個例子「不起作用」,那麼在某處可能會有錯誤,但它不在你發佈的代碼中。問題可能是傑夫在答案中解釋的。 –
對不起,我更新了這篇文章。 「按預期工作」意味着「subtitle」元素內部的文本變成「已更改!」。 – 425nesp