JavaScript中let和var的区别

1.作用域不同

var是函数作用域,let是块作用域。let常配合for循环使用

  1. 函数中声明了var,整个函数内都是有效的,比如for(var i=0;i<5;i++){};在这里面var的i可以在这个for循环外面得到
  2. 函数中某个块声明了let,其作用域只能在这一个块里面,比如for(let i=0;i<5;i++){},let只能在for循环的方法体里面({})获取,在for循环外面是无法获取的

2.let只能是先定义才能使用,否则的话会报Uncaught ReferenceError错误,而var可以先使用再定义.
3.let的变量不能被重新使用,var可以

即let a=0;其中的a只能被let一次(即如果let a=1;便会报错)
而var a=0;var a=1;不会报错

你可能感兴趣的:(#,Interview,javascript,html5)