JavaScript變量的生命周期


最近看國外經典教材的時候發現JavaScript與熟知的Java,C,C++都不同的特性,其中一個就是變量的生命周期。
 
1.在JavaScript中,對於for循環中定義的i變量,其生命周期在循環結束后仍然是有效的。
 
for (var i=0; i < 10; i++){
    doSomething(i);
}
alert(i); //10
這樣的特性對於我們傳統的習慣來說是不可理解的,這是因為JavaScript變量作用范圍沒有語句塊的概念,他並不像JAVA一樣在for循環內部聲明的變量,在for循環外部就不能使用。
 
2.對於全局變量和局部變量的區分,要對var的使用特別注意。
<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:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM