Невозможно проверить переменную области при использовании строгого режима - PullRequest
14 голосов
/ 17 декабря 2011

При запуске следующего скрипта в Safari (с открытым Инспектором)

window.onload = function() { 
    "use strict";
    var x = 1;
    debugger; // debugger will auto-break on this line
}

При запросе x в консоли, находящейся на этой точке останова, я получаю следующую ошибку:

Error
message: "'with' statements are not valid in strict mode"

Удаление строки "use strict"; позволяет мне получить доступ к x из консоли, находясь на этой точке останова.

Оба раза x отображается под Scope Variables на боковой панели.

1 Ответ

24 голосов
/ 17 декабря 2011

Это похоже на известную проблему с Safari: https://bugs.webkit.org/show_bug.cgi?id=65829

Чтобы воспроизвести ошибку, вам просто нужно набрать любой код в консоли, когда он остановлен на точке останова и в строгом режиме.

Вот код из сообщения об ошибке:

(function(){
    "use strict";
    debugger;
})();

Поэтому, когда вы находитесь в точке останова, перейдите к консоли и введите 2+3 (или любое выражение), и вы получите ошибку.

enter image description here

...