JS变量作用域

来源:互联网 发布:设备管理相关软件 编辑:程序博客网 时间:2024/06/02 13:04
<!DOCTYPE html><html><head>    <!--在页面内声明的变量,都可以访问-->    <script type="text/javascript">        var a = 10;        alert(a);//10    </script>    <script type="text/javascript">        alert(a);//10    </script>    <!--在页面内声明的变量,都可以访问-->    <script type="text/javascript">        function f1() {            var b = 0;            for (var i = 0; i < 2; i++) {                b = b + i;            }            alert(b);//1            /*在js中没有块级作用域,所以在方法内部任何位置声明变量,在整个方法内部都有效,所以当在for循环外打印i时依然有效*/            alert(i)//2        }        f1();        function f2() {            for (var i = 0; i < 3; i++) {            }            alert(i)//3            for (var i = 0; i < 2; i++) {            }            /*在js中 当声明的变量重复的时候,js会自动忽略声明,但是不会忽略赋值,所以此时i被赋值为0,并进行循环*/            alert(i)//2        }        f2();        function f3() {            c = 99;            c++;            alert(c)//100        }        f3();        /*在方法f3中c的声明没有使用var 则js默认c是在页面上声明的全局变量,所以这里打印c能访问到,因此要注意变量的声明要使用var*/        alert(c);//100    </script></head><body></body></html>
0 0
原创粉丝点击