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

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

一、let const var之间的区别

二、代码演示

bash 复制代码
   <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>
bash 复制代码
var fullName='cai';
function f(){
    console.log(`fullName`,fullName)//undefined
    if(false){
       var fullName='kiki'
    }
}

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

f();
bash 复制代码
// 暂时性死区 声明变量之前不能提前给变量赋值

var fullName='cai'
if(true){
  fullName='test'
  let fullName;//声明变量之前不能提前给变量赋值
}
bash 复制代码
//不能重复声明
function f(){
    let a='10';
    let a='20';
}
bash 复制代码
var fullName='cai'
console.log(`window`,window.fullName);//cai
//let 和const声明的变量不会挂载在window对象下面

const fullName1='cai'
console.log(`window`,window.fullName1);// undefined
bash 复制代码
//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']
    
相关推荐
花开盛夏^.^5 小时前
电脑打开多个浏览器Web窗口占用较大的运行内存的原因
前端·浏览器
Dxy12393102165 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷6 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
馒头不想说话6 小时前
实体店老板的24小时AI运营员工,写、剪、发全自动,省下一整个团队工资
前端
叼烟扛炮6 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
蒸蒸yyyyzwd7 小时前
学习笔记 八股手撕
笔记·学习
椒哥8 小时前
一天被问几十次"允许",我统计了 517 次,然后写了个插件
前端·javascript·github
风骏时光牛马8 小时前
生成一个AI稳定性治理及疑难问题分析标题,只需要一个标题,不需要其他的任何文本。
前端
莫西干式秃头8 小时前
用 AI + threejs 写了个浏览器里的 3D 动作游戏《武来》:砍怪、放技能、开 SU7
前端·人工智能·three.js
kyriewen9 小时前
我测了 6 种防请求竞态的写法:只有 1 种真能打
前端·javascript·程序员