<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>field</title>
</head>
<body>
<script type="text/javascript">
//test 块级作用域
function func() {
/*在java中i的生命周期只在for语句中
而在js中i是定义在了函数执行上下文的变量对象中
所以在for之外仍然能够访问i对象
而后续的var i;定义会被js忽视,而var i = 5赋值语句会覆盖原有的i的值
*/
for(var i=0; i<10; i++);
console.log(i);
var i;
console.log(i);
var i = 5;
console.log(i);
/*利用匿名函数表达式可以模拟出块级作用域*/
(function (){
var i = 100;
console.log("block:" + i);
})();
console.log(i);//依然是5
};
func();
</script>
</body>
</html>