JavaScript变量的特殊情况

let num= 20 ;

function fn(){

num= 10 ; //局部变量来看,强烈不允许的书写

}

fn ();

cosole. log(num);

function fun(x,y){

//形参可以看做是函数的局部变量

cosole.log(x);

}

fun(1,2);

console.log(x)   //错误的

有一种特殊情况是全局变量是那种?我们提倡吗?

➢局部变量或者块级变量没有let声明直接赋值的当全局变量看,我们强烈不提倡。

➢还有一种特殊情况,函数内部的形参可以当做局部变量看。

变量的访问原则

●只要是代码,就至少有一个作用域

●写在函数内部的局部作用域

●如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域

●访问原则:在能够访问到的情况下先局部,局部没有在找全局



案例一:

function f1() {
       let num= 123
       function f2() {
             console.log( num )
        }
       f2()
}
let num = 456
f1()

结果是多少呢?

结果是123。

案例二:

let a = 1;

function fn1(){

       let a = 2 ;

       let b = '22'

       fn2()

       function fn2 () {

              let a = 3;

              fn3();

              function fn3 (){

              let a =4

              console.log( )     //a的值

              console.log()     //b的值

           }

      }

}

a为4,b为22

谢谢大家阅读,欢迎评论区讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值