.NET End против Form.Close () против Application.Exit Cleaner способ закрыть свое приложение

Ничего себе, действительно интересно!

Как уже упоминалось, это, по-видимому, связано с scope, но более конкретно, связано с debugger scope. Когда внедренный скрипт оценивается в инструментах разработчика, он, как представляется, определяет ScopeChain, что приводит к некоторой причудливости (поскольку оно связано с областью инспектора / отладчика). Вариант того, что вы разместили, это:

(EDIT - на самом деле, вы упомянули об этом в своем исходном вопросе, yikes, мой плохой! )

function foo() {
  var x = "bat";
  var y = "man";

  function bar() {
    console.log(x); // logs "bat"

    debugger; // Attempting to access "y" throws the following
              // Uncaught ReferenceError: y is not defined
              // However, x is available in the scopeChain. Weird!
  }
  bar();
}
foo();

Для амбициозного и / или любопытного масштаба (heh) из источника, чтобы узнать, что происходит:

https://github.com/WebKit/webkit/tree/master/Source / JavaScriptCore / inspector https://github.com/WebKit/webkit/tree/master/Source/JavaScriptCore/debugger

13
задан Cody Gray 12 February 2011 в 15:41
поделиться