欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

javascript 作用域/全局变量/局部变量=」简析

程序员文章站 2022-09-14 10:56:57
**​​​​​​作用域是可访问变量的集合(函数也是变量),它控制着变量和函数的可访问性和生命周期**一、全局变量拥有全局作用域:页面打开的时候,自动生成一个全局作用域window,在window下定义的变量即为全局变量(页面关闭时,全局作用域销毁)全局变量的可访问性:页面内的所有脚本和函数都可以使用全局变量定义的两种方式:在下用关键字var定义的变量2、在函数内不使用关键字,直接定义变量 =》这个也叫隐式全局变量二、局部变量拥有局部作用域:调用函数时,在全局作用域下会有个函数作用域,...

**

​​​​​​作用域是可访问变量的集合(函数也是变量),它控制着变量和函数的可访问性和生命周期

**
一、全局变量拥有全局作用域:
页面打开的时候,自动生成一个全局作用域window,在window下定义的变量即为全局变量(页面关闭时,全局作用域销毁)
全局变量的可访问性:页面内的所有脚本和函数都可以使用
全局变量定义的两种方式:
在下用关键字var定义的变量

<script>
        var a = 30;
        function fn1(){
            alert(a);//这里可以访问到全局变量a
            function fn2(){
                alert(a);////这里也可以访问到全局变量a
            }
            fn2();
        }
        fn1();
</script>

2、在函数内不使用关键字,直接定义变量 =》这个也叫隐式全局变量

<script>
        function fn1(){
             b = 10;
        }
        fn1();
        alert(b);
</script>

二、局部变量拥有局部作用域:

调用函数时,在全局作用域下会有个函数作用域,可以称为局部作用域(函数执行完毕后,局部作用域销毁)
局部变量的可访问性:只能在函数内部访问
局部变量的定义:在函数内部通过 var定义变量

<script>
        function fn1(){
            var a = 123;
            alert(a);//123,可以访问到
        }
        fn1();
        alert(a);//报错
</script>

三、变量的生命周期

诞生:变量在声明的时候初始化
销毁:全局变量在页面关闭后销毁;而局部变量在函数执行完毕后销毁

(补充:)没有声明就使用的变量,默认为全局变量,不论这个变量在哪被使用。

function func(){
  undefined_var=110
}

上述代码分析: 在 func() 被第一次调用之前, undefined_var 变量是不存在的即 undefined。func() 被调用过之后,undefined_var 成为全局变量。

本文地址:https://blog.csdn.net/arthur_569/article/details/107284394