JavaScript で変数を削除します。
概要:
JavaScript で変数を削除できないのは、JavaScript ではできないためです。var
トリックの袋からウサギを引き出さない限り、コマンドによって作成されたものを削除することはできません。
delete コマンドは、var で作成されていないオブジェクトのプロパティのみを対象としています。
JavaScript では、次の条件下で var で作成された変数を削除できます。
JavaScript インタープリターまたはコマンドラインを使用しています。
eval を使用していて、そこに var を作成して削除します。
端末でのデモ。 delete boo
ordelete(boo)
コマンドを使用します。js
コマンド ライン ターミナルを使用 したデモでは、変数を削除できます。
el@defiant ~ $ js
js> typeof boo
"undefined"
js> boo
typein:2: ReferenceError: boo is not defined
js> boo=5
5
js> typeof boo
"number"
js> delete(boo)
true
js> typeof boo
"undefined"
js> boo
typein:7: ReferenceError: boo is not defined
JavaScript で変数を未定義に設定しなければならない場合、1 つのオプションがあります。
JavaScriptページのデモ:これを入れてくださいmyjs.html
:
<html>
<body>
<script type="text/JavaScript">
document.write("aliens: " + aliens + "<br>");
document.write("typeof aliens: " + (typeof aliens) + "<br>");
var aliens = "scramble the nimitz";
document.write("found some aliens: " + (typeof aliens) + "<br>");
document.write("not sayings its aliens but... " + aliens + "<br>");
aliens = undefined;
document.write("aliens set to undefined<br>");
document.write("typeof aliens: " + (typeof aliens) + "<br>");
document.write("you sure they are gone? " + aliens);
</script>
</body>
</html>
ブラウザーで myjs.html を開くと、次のように出力されます。
aliens: undefined
typeof aliens: undefined
found some aliens: string
not sayings its aliens but... scramble the nimitz
aliens set to undefined
typeof aliens: undefined
you sure they are gone? undefined
警告変数を に設定するとundefined
、変数が別の変数に割り当てられます。誰かが を実行して井戸に毒を入れた場合undefined = 'gotcha!'
、変数を未定義に設定すると、「わかった!」になります。
変数に値がないかどうかを確認するにはどうすればよいですか?
次のように undefined の代わりに null を使用します。
document.write("skittles: " + skittles + "<br>");
document.write("typeof skittles: " + (typeof skittles) + "<br>");
var skittles = 5;
document.write("skittles: " + skittles + "<br>");
document.write("typeof skittles:" + typeof skittles + "<br>");
skittles = null;
document.write("skittles: " + skittles + "<br>");
document.write("typeof skittles: " + typeof skittles);
どちらが印刷されますか:
skittles: undefined
typeof skittles: undefined
skittles: 5
typeof skittles:number
skittles: null
typeof skittles: object
strict を使用していない場合は、次のように作成された変数を削除できます。
<script type="text/JavaScript">
//use strict
a = 5;
document.writeln(typeof a); //prints number
delete a;
document.writeln(typeof a); //prints undefined
</script>
ただし、コメントを外すuse strict
と、JavaScript は実行されません。