zoukankan      html  css  js  c++  java
  • JS学习笔记(4)--js变量的生命周期

    最近看国外经典教材的时候发现JavaScript与熟知的Java,C,C++都不同的特性,其中一个就是变量的生命周期。
     
    1.在JavaScript中,对于for循环中定义的i变量,其生命周期在循环结束后仍然是有效的。
     
    1
    2
    3
    4
    for (var i=0; i < 10; i++){
        doSomething(i);
    }
    alert(i); //10
    这样的特性对于我们传统的习惯来说是不可理解的,这是因为JavaScript变量作用范围没有语句块的概念,他并不像JAVA一样在for循环内部声明的变量,在for循环外部就不能使用。
     
    2.对于全局变量和局部变量的区分,要对var的使用特别注意。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <html>
        <head></head>
        <body>
            <script type="text/javascript">
                var global_one = "I am global";
                function fun(){
                    global_two = "I am global too";
                    var local_one = "I am local";
                }
                alert(global_one); // "I am global"
                //alert(global_two);// error
                //alert(local_one);//error
     
                fun();
                alert(global_one); // "I am global"
                alert(global_two);// "I am global"
                //alert(local_one);//error
            </script>
        </body>
    </html>
    从上面的实例可以看到两点:
    第一,JavaScript中的方法内部定义变量的时候如果没有加var,就是全局变量;否则为局部变量;
    第二,当fun()没有执行的时候,方法内部的全局变量是不会声明并且定义的。
     
    Reference:
  • 相关阅读:
    HA分布式集群二hive配置
    win下写任务提交给集群
    win10下将spark的程序提交给远程集群中运行
    Scala快学笔记(三)
    Scala快学笔记(二)
    Scala快学笔记(一)
    统计学习方法 三 kNN
    统计学习方法 二 感知机
    fluent python(一)
    Codewar (1)
  • 原文地址:https://www.cnblogs.com/Jacklovely/p/6388475.html
Copyright © 2011-2022 走看看