1. a=1
a = 1 //含义不明 -不要用
2. var a
function fn (){
if(true){
console.log(a)
}else{
var a
console.log(2)
}
}
fn()
else
后面的语句没有执行,但是console.log(a)
却没有报错,原因是var a
提前了(即使那里代码没有执行),相当于
function fn (){
var a
if(true){
console.log(a)
}else{
console.log(2)
}
}
fn()
因此var
声明的变量写在第一行。
3. let 和 const
- let
{
let a=1
{
console.log(a)
let a=2
{
let a=3
}
}
}
结果报错。
if(true){
let a=1
console.log(1)
}else{
console.log(2)
}
console.log(a) //报错
const
总结
image.png不要再用var了。。。
网友评论