• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

[Javascript] globale Objekte unzugänglich machen

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
Gibt es eine Möglichkeit, dass man zb über window nicht mehr auf das window Objekt zugreifen kann? Würde gerne in einem größeren Projekt die Pointer auf die globalen Objekte in einem anderen Objekt "verstecken"
Code:
obj = function(){
	this.window=window; // wirs später in "var window = window" umgeschrieben
	this.document=document;
	this.history=history; // weitere folgen
}
var newobj = new obj()

geht auch alles soweit (über newobj.window), nur kann ich eben den Zugriff zb. auf das window Objekt nicht mittels window verhindern. Über Sinn und Zweck mag sich streiten lassen, jedoch ist das für mich grade sehr wichtig.

Edit: also ich möchte, dass man auf das window objekt nicht mehr über window zugreifen kann, sondern dass die Verwaltung dieser Objekte alleine über ein neues Objekt geregelt wird.
 
Zuletzt bearbeitet:
nein - dein Vorhaben wird sich nicht umsetzen lassen. window ist ein Top-Level Objekt an dem viel Funktionalität hängt (unter anderem der Dom-Baum über das Property document) -das wird sich nicht löschen lassen.
 
ich will es nicht löschen. Ich will einfach nur den Zugriff über window verbieten. Ich habe auch erfolgreich die eval()-Funktion umgelegt und es konnte immer noch JS-Funktionen aufgerufen werden. So gesehen wird auch der Browser nicht über window auf das window-Objekt zugreifen, sondern über den Zeiger, der auf das window Objekt zugreift.

Jedenfalls, wenn man versucht die Variable zu leeren (nicht das Objekt auf welches verwiesen wird), scheint dies ohne Auswirkung zu sein.
 
Weisst du überhaupt, was Global bedeutet?!

Mfg
ProCoder
 
ist mir durchaus bewusst, was Global bedeutet.

Ich habe mich grade gefreut, dass hier jemand wieder was geschrieben hat, was mir sicherlich weiterhilft. Leider bin ich jetzt enttäuscht...