var let 区别

var a = 5;
var b = 10;

if (a === 5) {
  let a = 4; // if 块级作用域
  var b = 1; // 函数级作用域

  console.log(a);  // 4
  console.log(b);  // 1
} 

console.log(a); // 5
console.log(b); // 1

  

var声明的变量是函数级的或者是全局的,而let用于声明块级作用域。

在函数或程序顶层使用时,letvar没有什么区别:

var x = 'global';
let y = 'global';
console.log(this.x);  // 'global' 
console.log(this.y);  // 'global'

  

 

posted @ 2018-04-25 16:40  Jack-liu  阅读(903)  评论(0编辑  收藏  举报