变量提升

变量提升

变量提升: 在各自的作用域中所声明的变量都会提升到作用域最顶端
提升:【声明提升】,赋值不提升 ---->已经定义为赋值的变量

变量未定义: 返回 xxx is not define
undefined : 表示变量已经定义 在执行当前【使用变量】时,处于【未赋值】状态

例题:

console.log(xsy)     //  xsy is not defined   变量没有定义
console.log(a)       //  undefined    变量提升  a变量会提升到最顶部
console.log(b)       //  b is not defined   变量没有定义   全局变量不能访问局部变量  
console.log(c)       //  c is not defined     变量没有定义   全局变量不能访问局部变量

var a = 'ly'
function fun() {
    function c() {
        var c = 'ccc'
        b = 222
    }
    c()
    console.log(b)   // 不打印结果,函数没有执行  函数执行返回:222  
    var b = 'bbb'
    console.log(d)   // 不打印结果,函数没有执行  函数执行返回:undefined (因为变量提升,var b;会到提升到最上边,而他的值b可以提升)
}
fun()
var d = 'dddddd'

function fun2(){
    return function fun3(){
        var e = 'eeeee'
    }
}
var res = fun2()
res()
console.log(e)       // e is not defined  变量没有定义  因为fun2()没有返回值 全局变量不能访问局部变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值