2012-04-26 108 views
0

可能重複:
Difference between using var and not using var in JavaScript用「var」聲明而沒有「var」關鍵字的變量有什麼區別?

的是這兩種方法之間的主要區別。有人可以幫助我理解。如果一個變量在函數內部用「var」關鍵字聲明,這意味着什麼?在這兩種情況下,計時器按預期在3秒內清零。

Approach 1: 
<html> 
<body> 
<script type="text/javascript"> 
function function2() 
{ 
int=self.setInterval(function(){ 
alert(int); 
clearInterval(alert("in clear"+ int)); 
},3000); 
} 
</script> 
<button onclick="function2()">Start</button> 
</body> 
</html> 

Approach 2 


<html> 
<body> 
<script type="text/javascript"> 
function function2() 
{ 
var int=self.setInterval(function(){ 
alert(int); 
clearInterval(alert("in clear"+ int)); 
},3000); 
} 
</script> 
<button onclick="function2()">Start</button> 
</body> 
</html> 

回答

2

如果不使用var,則隱式將該變量放在全局命名空間中。使用var時,變量對於函數是局部的。

+0

好的謝謝..但如何在這兩種情況下清除計時器沒有任何問題? – arjunv 2012-04-26 01:30:22

+0

正如他們所示,在你描述的兩種方法之間沒有功能上的區別 - 無論「int」在全局命名空間還是在「function2」本地,它們都做同樣的事情。 – 2012-04-26 01:57:29

相關問題