JS | 变量的作用域

目录

一、全局变量

二、局部变量

三、全局变量与局部变量的区别


在JavaScript中,根据作用域的不同,变量可以分为两种:

  • 全局变量
  • 局部变量

一、全局变量

在全局作用域下声明的变量叫做全局变量(在函数外部定义的变量)。

  • 全局变量在代码的任何位置都可以使用
  • 在全局作用域下,Var声明的变量是全局变量
  • 特殊情况下,在函数内部没有用var声明的变量也是全局变量(不建议使用)
   <script>
    var num = 10;
    console.log(num);    //打印结果: 10

    function fn(){
        console.log(num) //打印结果: 10
    }
    fn()
   </script>

可以看到,在函数内部我们并没有声明变量num,但是函数内部可以使用,所以全局变量在代码的任何位置都可以使用!


   <script>
    var num = 10;
    console.log(num);

    function fn(){
        var a=b=c=num;
    }
    fn()
    console.log(b)
    console.log(c)
    console.log(a)
   </script>

看上图,我们的变量b、c在函数内部,但是没有声明,采用的是赋值操作,所以变量b、c是全局变量,而我们的变量a,是因var声明的,所以是局部变量,在函数外部使用时,会报错!!!这也证明了在函数内部没有用var声明的变量也是全局变量 !!!

二、局部变量

在局部作用域下声明的变量叫做局部变量(在函数内部定义的变量)

  • 局部变量只能在该函数中使用
  • 在函数内部使用var声明的变量是局部变量
  • 函数的形参实际上就是局部变量
   <script>
     function fn(aru){
        console.log('我是函数内部的aru:'+aru)
     }
     fn(13)
     console.log('我是函数外部的aru:'+aru)
   </script>

可以看到,形参aru我们只能在函数内部使用,在函数外部使用会报错undefined,所以函数的形参实际上是局部变量!!! 

三、全局变量与局部变量的区别

  • 全局变量:在任何一个地方都可以使用,只有在浏览器关闭时都会销毁,因此比较占内存。
  • 局部变量:只在函数内部中使用,当其所有代码被执行时,会被初始化时;当代码执行结束时,就会被销毁,因此更节省空间。

okk,今天我们的变量的作用域就说到这里,希望能给大家有一点儿帮助。拜比~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值