关键词

执行上下文 队列 预处理 递归 作用域

解释

  • 先执行变量提升,在执行函数提升

var c=1;
function c(c){
    console.log(c);
    var c=3;
}
c(2); //报错 //c is not defined

  • 执行上下文

  • 队列 先进先出
  • 后进先出

精品代码

  • 函数作用域

  var x = 10;
  function fn() {
    console.log(x);
  }
  function show(f) {
    var x = 20;
    f();
  }
  show(fn); // 10

  var fn = function () {
    console.log(fn)
  }
  fn()

  var obj = {
    fn2: function () {
     console.log(fn2)
     //console.log(this.fn2)
    }
  }
  obj.fn2() // 报错 fn2 is not defined