:"strictモード"を有効にすることができます。 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
の削除は、変数deを介して作成されるため、グローバルオブジェクトのプロパティであるにもかかわらず、まだ成功していますclarationのでDontDelete attributeがあります。strictモードを 『「
>>> foo
2
>>> delete foo
false
>>> var bar = 2;
undefined
>>> delete bar
true
を有効にすることは可能です』。 FireBugやChromeのコンソールで
等
「厳密使用します」設定する。 – AJP
...私がちょうどその次のセクションを読んでいたら、これはファイヤービッグの異常な行動の要点です。コンソール内のすべてのテキストは解析され、グローバル関数としてではなくEvalコードとして実行されているようです。 ' – AJP
@ zorancの最初の提案に従ったので、クロムのコンソールで厳密なモードが動作することがわかりました。 ' ' console.log('厳密なモードはクールです... '); {}()); ' – slacktracer