Funktion / Objekt vollständig aus dem DOM löschen

BlubBlub

Mitglied
Hi wie kann ich eine Funktion oder ein Objekt vollständig aus dem DOM löschen?
So dass bei dem unteren Code alert(typeof(Auto)); ein undefined zurückliefert.

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<html>
	<head>
		<title>Test</title>
		<script type="text/javascript">		
		function Auto()
		{
			this.a = 4;
		}
	
                alert(typeof(Auto));
		</script>
	</head>
	
	<body>
	</body>
</html>
 
Du kannst Auto explizit auf den Wert 'undefined' setzen, da hier delete scheinbar nicht so funktioniert, wie ich erwartet hatte (vermutlich weil du etwas aus dem gleichen Scope löschen willst, in dem du dich befindest.).

Javascript:
function Auto()
{
	this.a = 4;
}

(function(a) {this.Auto=a;})();

alert(typeof(this.Auto));

Jetzt bekommst du zwar "undefined" ausgegeben, aber der Unterschied zum delete Statement ist, dass Auto noch da ist, aber den Wert 'undefined' hat, ansatt wirklich weg zu sein.

Javascript:
//Immer noch TRUE!
alert('Auto' in this);



Wenn du eine Eigenschaft in einem anderen Scope löschen willst, geht es

Javascript:
var o = {};

o.Auto = function()
{
	this.a = 4;
}

delete o.Auto;

alert(typeof(o.Auto));
alert('Auto' in o);
 
Zurück