js中var和let的快速区别

2018-09-05 07:50:31来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

先看下面的几个例子:

  1.

var a = 99;            // 全局变量a
f();                   // f是函数,虽然定义在调用的后面,但是函数声明会提升到作用域的顶部。 
console.log(a);        // a=>99,  此时是全局变量的a
function f() {
  console.log(a);      // 当前的a变量是下面变量a声明提升后,默认值undefined
  var a = 10;
  console.log(a);      // a => 10
}

// 输出结果:
undefined
10
99

  2.

{ 
  var i = 9;
} 
console.log(i);  // 9

  3.

{ 
  let i = 9;     // i变量只在 花括号内有效
} 
console.log(i);  // Uncaught ReferenceError: i is not defined

  总结:在ES6中开始用let来定义块级作用域变量,let没有变量的提升,用let声明的变量要求必须等let声明语句执行之后,该变量才能使用不然会报Uncaught ReferenceError 错误,而且let变量不能进行重复声明

 

 

             

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:easyui datagrid 相关取数据总结

下一篇:Webpack4干货分享:第一部分,入口、输入和ES6模块