今天写了一个javascript的for循环,for循环外面依然能够引用到i变量的值,百思不得其解。
经过百度得知原因如下:
Javascript的变量的作用域(scope)是根据方法块来划分的(function的{ }来划分)!切记,是function块,而for、while、if块并不是作用域的划分标准!
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
function test1() {
for (var i = 0; i < 3; i++) {
}
alert(i);
}
</script>
</head>
<body>
<input type="button" value="click1" οnclick="test1()"/>
</body>
</html><span style="color:#ff0000;">
</span>
结果如下: