当前位置: 移动技术网 > IT编程>开发语言>JavaScript > javascript 作用域/全局变量/局部变量=」简析

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

2020年07月12日  | 移动技术网IT编程  | 我要评论

**

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

**
一、全局变量拥有全局作用域:
页面打开的时候,自动生成一个全局作用域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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网