码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-12-02 11:45:03      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:lang   char   nbsp   undefined   jquer   全局变量   相同   script   区别   

<!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>

 

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

标签:lang   char   nbsp   undefined   jquer   全局变量   相同   script   区别   

原文地址:http://www.cnblogs.com/iwebkit/p/6124886.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!