当前位置:网站首页>var let const
var let const
2022-08-05 18:03:00 【这次我一定要赢】
在ES6之后就出现了let,const。今天我们来浅谈一下这两个和var的区别。
此图来源于网络,用于学习

一.重复定义
var
var a = 10
var a = 20let

const
Cannot redeclare block-scoped variable 'a'. 无法重新声明块作用域变量‘a’。
二.声明提升
var
代码:
console.log(a);
var a = 10提升后的代码:
var a
console.log(a);
a = 10
let
console.log(a);
let a = 10 
const:


、
三.块级作用域
var:function可以
代码:
function fn() {
var a = 10
}
console.log(a);
在for 循环里面呢?
代码:
for (var i = 0; i <= 5; i++) {
var b = 10
}
console.log(b);
是可以访问到的
在if里面呢?
代码:
if (true) {
var a = 20
}
console.log(a);
可以访问的到。
也因此证明了一点,var只有在函数中才有块级作用域。
let
在if里面
代码:
if (true) {
let a = 20
}
console.log(a);
for循环里面
for (var i = 0; i <= 5; i++) {
let b = 10
}
console.log(b); 
在函数里面
代码:
function fn() {
let a = 10
}
console.log(a);
const
在函数里面:
代码:
function fn() {
const a = 10
}
console.log(a);
在for循环里面
代码:
for (var i = 0; i <= 5; i++) {
const b = 10
}
console.log(b);
在if里面
代码:
if (true) {
const a = 20
}
console.log(a);
边栏推荐
猜你喜欢
随机推荐
包载信使mRNA的多西环素纳米脂质体|雷公藤红素纳米脂质体RNA核糖核酸(实验原理)
How to activate the latest version of IntelliJ IDEA 2022.2
微服务Client模块
超级玛丽问号盒子3d旋转js特效
rk3399 如何使用dynamic debug动态打印调试
rk3399 休眠唤醒standby调试指南
puzzle(005)单元拼接问题
PNA/RNA/DNA修饰方法研究进展
rk3399 /sys/class/gpio调试
SAP ABAP EXCEL 下载模板
如何选择一款真正好用的远程控制软件
EN 12259-3喷水灭火系统干式报警阀组件—CE认证
七夕限定 | 龙凤呈祥2款包袱瓶数字藏品全网独家发售
编译器工程师眼中的好代码(1):Loop Interchange
对非均匀采样信号进行重采样
认识一下MRS里的“中间人”Alluxio
重磅综述|大脑内在神经时间尺度:时间整合与分离
leetcode 729. My Calendar I(日程1)
齐岳|阿霉素/四氧化三铁纳米粒微球|钆参杂四氧化三铁Fe3O4复合纳米粒子
canvas实现多个图片合成js特效









