2015-10-06 14 views
0

我在理解下面全局變量x的生存期時遇到了一些麻煩。我有我的評論對我不理解的問題,行..請幫助... thanksssLIfetime變量

var target = document.getElementById("outputArea"); 
var outString = ""; 

var x = 0; 
var y = 0; 

callMeOften2(); 
callMeOften2(); 
callMeOften2(); 
outString += "<br/>"; 

target.innerHTML = outString; 

function callMeOften2() { 
    outString += x + "<br/>"; //why isn't this going to give an output of 0? but gave an output of undefined instead? isn't x referring to the global variable x? 
    var x = 100; 

    x = x + 100; 
    outString += "from callMeoften2: " + "x = " + x + "<br/>"; 
} 

回答

0

這裏是所有的JavaScript引擎通過可變吊裝如何與你的代碼(有效)

function callMeOften2() { 
    var x = undefined; 
    outString += x + "<br/>"; //why isn't this going to give an output of 0? but gave an output of undefined instead? isn't x referring to the global variable x? 
    x = 100; 

    x = x + 100; 
    outString += "from callMeoften2: " + "x = " + x + "<br/>"; 
} 
扮演

希望這有助於

函數中的var x意味着全球x是無關緊要的(當然,可以在瀏覽器中使用window.x訪問,ロ在其他環境中其他一些「全局」對象)

+0

JVM如何進入? –

+0

對不起,壞名詞 - 不知道爲什麼我最近開始引用Javascript引擎作爲JVM的!我也一直在做!我討厭Java幾乎和我討厭JQueery一樣! –

+0

儘管如此,JVM可以是Javascript虛擬機的縮寫,這是一件事情,所以,Java程序員將不得不忍受沉默 –