javaScript中 var let const 的区别

先给你们来个例子:spa

  var tmp = new Date();
    function f() {
      console.log(tmp);
      if(false) {
        var tmp='hello';
      }
    } f();
作用域

打印结果为undefined 流程以下 io

var tmp = new Date();
  function f() {
    var tmp;
    console.log(tmp);
    if(false) {
      tmp='hello';
    }
  }
f();
console

var做用域分为全局做用域和方法级的局部做用域 let 和 const则为块级做用域 一样的方法function

let tmp = new Date();
    function f() {
      console.log(tmp);
      if(false) {
        let tmp='hello';
      }
    } f();
方法

结果为 日期数据 let tmp='hello'; 数据只做用于if 范围内。数据