На этой странице:
<!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?