一: 变量提升与否

  var:

console.log(a); // undefined
var a = 'abc';
// 这段代码实际执行顺序是:

  var a;  //变量声明提升至当前作用域顶部
  console.log(a);
  a = 'abc';

 

  let:

console.log(a); // 报错: a is not defined
let a = 'abc';

// 这里, 用let声明变量, 变量声明不会提升, 完全按照文档流的执行顺序走

 

 

 

二:作用域问题

  var:

for (var i = 0; i<10; i++) {
    // code..  
}
console.log(i); // 输出 10

 

  let:

for (let i = 0; i<10; i++) {
    // code..  
}
console.log(i); // 报错: i is not defined

// let 作用于 代码块 {}

 

 

 

 

 

 

获取更过 点击这里

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!

相关课程