Подтвердить что ты не робот

Можно ли включить "строгий режим" в консоли FireBug и Chrome?

С этой страницы:

<!DOCTYPE html>
<html>
  <head>
    <script>
        "use strict";
        var foo = 2;
        delete foo;
    </script>
  </head>
  <body></body>
</html>

Консоль Firebug дает:

applying the 'delete' operator to an unqualified name is deprecated
>>> foo
ReferenceError: foo is not defined
foo

Но тогда это успешно:

>>> var bar = 2;
undefined
>>> delete bar;
true

Даже если вы закомментируете, delete foo; чтобы сценарий не ломался, удаление bar все еще успешно, несмотря на то, что оно "является свойством объекта Global, поскольку оно создается с помощью объявления переменной и имеет атрибут DontDelete ":

>>> foo
2
>>> delete foo
false
>>> var bar = 2;
undefined
>>> delete bar
true

Можно ли включить "строгий режим" в FireBug и/или в консоли Chrome?

4b9b3361

Ответ 1

Консоль firebug работает, обертывая весь код вызовом "eval", поэтому первый оператор в вашем script больше не "использует строгий" - следовательно, он отключен. Вы можете попробовать обернуть свой код в функцию, чтобы принудительно использовать "использовать строгую" для этой конкретной функции, но лучшим решением, о котором я знаю, является пропустить консоль и протестировать прямо на самой странице.

Ответ 2

используйте shift + enter для ввода 'use strict'

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

Ответ 3

Если вы просто проверяете одну функцию в консоли, вы также можете просто поместить 'use strict' в первую строку в объявлении функции.

Ответ 4

В Chrome перейдите в "chrome://flags", затем "Включить экспериментальный JavaScript". Перезапустить.

Ответ 5

Хром: поставить 'use strict'; префикс в строке кода (и/или Shift + Enter для многострочного)

'use strict'; var foo = 2; delete foo;