【简单的JS知识点,复习用】
变量用于存储数据,方便实现对数据的操作
声明变量的方法有 var let const
1.var 声明变量存在变量提升
(变量提升就是将变量的声明提升到当前作用域的最顶部)
代码如下:
//var 声明变量 存在变量提升 (将变量的声明提升到作用域最顶部)
{
console.log(a);//undefined
var a = 1
console.log(a);//1
}
{
var b
console.log(b);//undefined
b = 1
console.log(b);//1
}
{
var a = 1 var a;
=> console.log(a)
console.log(a) a = 1
}
let和const是es6新增声明变量方式
2.let 声明变量 不存在变量提升,并且在当前作用域内不能重复声明
在声明之前不能使用该变量,因为let将当前代码块转变成TDZ(暂时性死区)
代码如下:
//let声明变量
{
// console.log(a); 会报错 因为存在TDZ
let a = 1
console.log(a);//1
// let a = 2 会报错
}
声明前使用报错

重复声明报错

3.const声明变量 声明的是一个常量,必须有默认值
也会将当前代码块转变成TDZ(暂时性死区),
不能重复声明变量,
没有变量提升。
他的值不会改变,如果他的值是一个引用数据类型,并不影响引用数据类型内部数据的变化
代码如下:
//const声明变量
{
// console.log(a); 会报错
const a = 1
// const a = 2 会报错
console.log(a);//1
const obj = {
name: '张三',
age: 18
}
obj.name = '李四'
console.log(obj);//{name:'李四',age:18}
}

被折叠的 条评论
为什么被折叠?



