Невозможно проверить переменную области при использовании строгого режима

При запуске следующего сценария в 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 ответ

Решение

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

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

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

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

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

введите описание изображения здесь

Другие вопросы по тегам