Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > de.comp.lang.javascript > #4698

Re: Schleife für document.getElementBy ... innerHTML?

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups de.comp.lang.javascript
Subject Re: Schleife für document.getElementBy ... innerHTML?
Date 2015-08-12 20:54 +0200
Organization PointedEars Software (PES)
Message-ID <2473063.o0E3eExaDO@PointedEars.de> (permalink)
References <mqe5us.4jk.1@mid.maikkoenig.de> <20150812093317.00f07bc8@ravenworks.netz> <5808078.Mu2qdKNV6c@PointedEars.de> <mqg66j.1bk.1@stefan.msgid.phost.de>

Show all headers | View raw


Stefan Reuther wrote:

> Thomas 'PointedEars' Lahn wrote:
>> window != global. Das mit “window” referenzierte Host-Objekt hat
>> spezielle Eigenschaften, die das in ECMAScript spezifizierte globale
>> Objekt nicht hat. Wer diese beiden Objekte verwechselt, muss sich nicht
>> wundern, wenn Dinge
>> passieren, die er nicht möchte.  Zum Beispiel wäre es bei diesem Ansatz
>> fatal, wenn eine der globalen Variablen “location” hiesse: eine Zuweisung
>> an die gleichnamige Eigenschaft von “window” löst eine Navigation aus.
> 
> Sofern wir in einem Browser sind, ist 'this === window'.

(Schon *oft* diskutiert und widerlegt.  Bitte erst lesen, dann denken, dann 
posten.)  Nein.  Aufgrund der Frames-Semantik ist nur die Unterscheidung 
nicht trivial möglich.

> Die Magie des Objektes geht auch nicht weg, wenn man 'this' statt 'window'
> schreibt, 'this.location = "..."' löst ebenfalls eine Navigation aus.

Die Aussage mag zwar kontextabhängig richtig sein (in der Console ist sie 
das beispielsweise nachweislich nicht), die Schlussfolgerung daraus aber
ist falsch.  Ein Objekt dient hier nur als Proxy für das andere, und als 
Sonderfall hat das eine Objekt (das globale) eine host-definierte 
Eigenschaft passenden Namens und Wertes (“window”).

> >>Schöner fände ich es wenn die Variablen in einem Container
> >>zusammengefasst sind:
> > 
> > Das ist nicht nur eleganter, sondern auch weniger fehlerträchtig.
> 
> Eben. Das muss der Weg sein. Nicht darum herumzuworkarounden, wie man
> denn das globale Objekt bezeichnet.

Was soll das?  Es geht nicht um die Bezeichnung, sondern um die weniger 
fehlerträchtige Referenzierung.  In *beiden* Fällen.
 
-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | SVN: <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | ES Matrix: <http://PointedEars.de/es-matrix>
Please do not cc me. / Bitte keine Kopien per E-Mail.

Back to de.comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Schleife für document.getElementBy ... innerHTML? Maik Koenig <usenetspam@maikkoenig.de> - 2015-08-12 01:02 +0200
  Re: Schleife für document.getElementBy ... innerHTML? Maik Koenig <usenetspam@maikkoenig.de> - 2015-08-12 01:07 +0200
  Re: Schleife für document.getElementBy ... innerHTML? "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-08-12 01:34 +0200
    Re: Schleife für document.getElementBy ... innerHTML? Maik Koenig <usenetspam@maikkoenig.de> - 2015-08-12 22:29 +0200
  Re: Schleife für document.getElementBy ... innerHTML? Sascha Hüdepohl <sascha@ravenworks.de> - 2015-08-12 09:33 +0200
    Re: Schleife für document.getElementBy ... innerHTML? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-08-12 15:44 +0200
      Re: Schleife für document.getElementBy ... innerHTML? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-08-12 15:47 +0200
      Re: Schleife für document.getElementBy ... innerHTML? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-08-12 16:18 +0200
      Re: Schleife für document.getElementBy ... innerHTML? Stefan Reuther <stefan.news@arcor.de> - 2015-08-12 19:18 +0200
        Re: Schleife für document.getElementBy ... innerHTML? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-08-12 20:54 +0200
          Re: Schleife für document.getElementBy ... innerHTML? Stefan Reuther <stefan.news@arcor.de> - 2015-08-13 20:09 +0200
    Re: Schleife für document.getElementBy ... innerHTML? Maik Koenig <usenetspam@maikkoenig.de> - 2015-08-12 22:42 +0200
      Re: Schleife für document.getElementBy ... innerHTML? Sascha Hüdepohl <sascha@ravenworks.de> - 2015-08-13 08:54 +0200
        Re: Schleife für document.getElementBy ... innerHTML? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-08-13 12:35 +0200
      Re: Schleife für document.getElementBy ... innerHTML? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-08-13 12:32 +0200
        Re: Schleife für document.getElementBy ... innerHTML? Maik Koenig <usenetspam@maikkoenig.de> - 2015-08-13 22:50 +0200
          Re: Schleife für document.getElementBy ... innerHTML? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-08-14 08:35 +0200

csiph-web