总结javascript中的全局变量和局部变量的区别以及声明函数和调用函数的区别

2016-12-03 08:17:57来源:cnblogs.com作者:iwebkit人点击

第七城市
<!DOCTYPE html><html><head lang="en">    <meta charset="utf-8"/>    <title></title>    <script src="../js/jquery-1.10.2.js"></script>    <script>//        1 i为全局变量 输出全局变量        function myName() {            i = '全局变量';        }        myName();        function sayName() {            alert(i);        }        sayName();//        2 i为局部变量 运行出错 显示i未定义        function myName() {            var i='局部变量';        }        myName();        function sayName() {            alert(i);        }        sayName();//        3 将1中的myName()去掉 运行出错 显示i未定义,虽然声明了函数,但是没有调用函数,函数中的i的赋值失效。        function myName() {            i = '全局变量';        }        function sayName() {            alert(i);        }        sayName();//        4 将1中的myName()放到sayName()的下面 运行出错 显示i未定义,虽然声明了函数 调用了函数 但是因为javascript调用的函数自上而下运行,//          当运行sayName时并没有运行myName().        function myName() {            i = '全局变量';        }        function sayName() {            alert(i);        }        sayName();        myName();        //        5 运行结果显示是全局变量。虽然变量名称相同,但是一个是全局变量,一个是局部变量,有着本质的区别,局部变量只能在本函数之内使用        var i = '全局变量';        function myName() {            var i = '局部变量';        }        myName();        function sayName() {            alert(i);        }        sayName();        //        6 将5的局部变量改成全局变量,运行结果显示改变的全局变量        var i = '全局变量';        function myName() {            i = '改变的全局变量';        }        myName();        function sayName() {            alert(i);        }        sayName();        //        7 运行结果显示undefined,因为代码的执行顺序是从上到下的,在输出i之前并只定义了i,没有对i初始化。        var i;        function sayName() {            alert(i);            i = '全局变量';        }        sayName();//        8 运行结果显示全局变量,在输出之前初始化i就没有问题了        var i;        function sayName() {            alert(i);            i = '全局变量';        }        sayName();//        9运行结果显示undefined,因为输出的是局部变量,而局部变量得初始化在输出之后。        var i = '全局变量';        function sayName() {            alert(i);            var i = '局部变量';                }        sayName();    </script></head><body></body></html>

 

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台