来看看这个JS题输出什么?教你通过断电调试一步步看原因

让我们调试看看这段代码

    var foo = { n: 1 };
    (function (foo) {
      console.log(foo.n) 
      foo.n = 3
      var foo = { n: 2 }
      foo.n = 4
      console.log(foo.n)
    })(foo)
    console.log(foo.n);

输出结果

来看看这个JS题输出什么?教你通过断电调试一步步看原因_第1张图片

调试解析

第一步

来看看这个JS题输出什么?教你通过断电调试一步步看原因_第2张图片

第二步来看看这个JS题输出什么?教你通过断电调试一步步看原因_第3张图片

✨第三步

来看看这个JS题输出什么?教你通过断电调试一步步看原因_第4张图片

❤️第四步

来看看这个JS题输出什么?教你通过断电调试一步步看原因_第5张图片

第五步

来看看这个JS题输出什么?教你通过断电调试一步步看原因_第6张图片

你可能感兴趣的:(javascript,开发语言,ecmascript)