JS高级关于AO的一些感悟

function xxx() {
    console.log(i);
    let i = 0;//暂时性死区
    //告知当前AO拥有该变量
}

在函数调用函数的时候,如果输出一个变量,如果被调用的函数没有该变量,则会输出全局变量的值,如果全局也没有则报错;

let i = 1;
function xxx() {
    console.log(i);//un
    if (!i) {
        var i = 100;
    }
    console.log(i);//100
}

由于if不是函数,因此var可以从局部作用域出来,变成xxx的局部变量;如果if改成函数则var则会一直为自己的局部变量,不会升级为xxx的局部变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值