【前端学习】—let const var之间的区别(十三)

本文详细比较了JavaScript中的let,const,和var的区别,涉及变量提升、作用域、临时性死区、重复声明以及基本类型和引用类型的可变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【前端学习】—let const var之间的区别(十三)

一、let const var之间的区别

在这里插入图片描述

二、代码演示

   <script>
        // 1、const let不存在变量提升 var 存在变量提升

        //var
console.log(`fullName`,fullName);//fullName undefined
//var fullName='cai';
/*
var 声明变量的方式会存在变量提升,var在声明变量之前,首先会将var fullName提升到代码块的最前面

*/



//let
console.log(`fullName`,fullName);//Uncaught ReferenceError: Cannot access 'fullName' before initialization

let fullName='cai';

//const
//console.log(`fullName`,fullName);
//const fullName='cai'//let const.html:13 Uncaught ReferenceError: Cannot access 'fullName' before initialization

    </script>
var fullName='cai';
function f(){
    console.log(`fullName`,fullName)//undefined
    if(false){
       var fullName='kiki'
    }
}

f();
let fullName='cai';
function f(){
    console.log(`fullName`,fullName)//cai  全局作用域
    if(false){
        //块级作用域 只在当前范围内生效
       let fullName='kiki'
    }
}

f();

// 暂时性死区 声明变量之前不能提前给变量赋值

var fullName='cai'
if(true){
  fullName='test'
  let fullName;//声明变量之前不能提前给变量赋值
}

//不能重复声明
function f(){
    let a='10';
    let a='20';
}
var fullName='cai'
console.log(`window`,window.fullName);//cai
//let 和const声明的变量不会挂载在window对象下面

const fullName1='cai'
console.log(`window`,window.fullName1);// undefined

//const声明的基本类型变量的值不能被改变,引用类型可以
const familyName='cai';
//familyName='cai1'
console.log(familyName)//Uncaught TypeError: Assignment to constant variable.


const fruit=['apple'];
fruit[0]='orange';
console.log(fruit);//['orange']
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王同学要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值