js中全局变量与局部变量的区别

局部变量:函数内部 定义的变量称为局部变量。
全局变量:函数外定义的变量就是全局变量。

局部变量和全局变量的区别:

  		1:作用域不同
            局部变量的作用域是当前函数内。
            全局的变量的作用域是整个script 标签内。包括函数内。
        2: 生命周期不同
            局部变量的生命周期,依赖于函数的调用周期,从开始调用到结束调用。
            全局变量的生命周期,取决于窗口的创建和销毁。
        3:定义的位置不同
            局部的定义在函数体内。
            全局的定义在函数外。
        4:被访问的优先级不同。
            如果局部变量和全局变量有重名的,那么在函数内局部变量的被访问的优先级更高。可以通过 window. 去访问全局的变量,或者是 this.  参照代码。

        5:所在的内存不同
            局部的在栈帧中,栈帧在栈中。
            全局的属于window对象的属性,window对象在堆内存中。所以全局的在堆中。

        6:被访问的速度不同
            局部变量的存取的效率高于全局的。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值