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

**

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值