首页 > 关于js打断点的机制是怎么样的?

关于js打断点的机制是怎么样的?

function f() { return console.log('I am outside!'); }
(function () {
  if(false) {
    // 重复声明一次函数f
    function f() { return console.log('I am inside!'); }
  }

  f();
}());

这段js程序,在chrome下,我如果将断点打在第一行,会显示:
I am inside!
I am outside!

如果直接运行,只会打印一个
I am outside!

这是一种什么机制会导致这样的情况呢?求大神帮解惑…………


function f() { return console.log('I am outside!'); }
(); 这个是js自执行函数,定义完立即执行。你把断点打在第一行,但是括号里的函数本来就执行在第一行之前。

【热门文章】
【热门文章】