当前位置:首页 > 编程 > 正文

var 与let 的区别

{

    var a = 'hello'   // 函数作业域
    let b = 'world'   // 块级作用域
}


console.log(a)
console.log(b)  //b is not defined



变量提升:

var a = 'hello'

function func(){
    a = 'world'
}

func()

console.log(a) //world


let a = 'hello'

function func(){
    a = 'world'
}


console.log(a)  // hello


let a = 'hello'  
let a = 'world'   // 报错


var a = 'hello'
var b = 'world'  // 不报错


  • var 声明的变量属于函数作用域,let 和 const 声明的变量属于块级作用域;

  • var 存在变量提升现象,而 let 和 const 没有此类现象;

  • var 变量可以重复声明,而在同一个块级作用域,let 变量不能重新声明,const 变量不能修改。


参考: JavaScript中var,let与const的区别是什么?-js教程-PHP中文网

发表评论