变量声明,var,let,const。

本文探讨了JavaScript中变量提升现象,重点对比var、let和const的特性。变量提升让开发者了解在函数作用域内的不同行为,并通过实例解析了变量初始化前的访问问题。特别提到了一种特殊的变量声明方式,其类似var但无提升效果。
摘要由CSDN通过智能技术生成

var存在变量提升,即:在其作用域之前调用,会返回undefined。
let, const 不存在变量提升,即::在作用域之前调用会报错并提示在作用域之前无法调用。

函数function存在变量提升,即:在声明函数作用域内,之前调用与之后调用效果一样。注意:函数声明与调用其函数体内的变量作用域问题。

foo()
    let b = 1
    function foo(){
        console.log(b); // Cannot access 'b' before initialization
    }

注意:有一种声明变量的方式。

// 一
a = 1
console.log(a) // 1
// 二
(function(){
    console.log(a); // a is not defined
})()
a = 1

这种声明方式没有使用var,let,const,所以不会有变量提升的效果。

其作用域类似于var。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值