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


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

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

From Stefan Reuther <stefan.news@arcor.de>
Newsgroups de.comp.lang.javascript
Subject Re: Schleife für document.getElementBy ... innerHTML?
Date 2015-08-12 19:18 +0200
Message-ID <mqg66j.1bk.1@stefan.msgid.phost.de> (permalink)
References <mqe5us.4jk.1@mid.maikkoenig.de> <20150812093317.00f07bc8@ravenworks.netz> <5808078.Mu2qdKNV6c@PointedEars.de>

Show all headers | View raw


Thomas 'PointedEars' Lahn wrote:
> Sascha Hüdepohl wrote:
>>var target, i;
>>for (i = 0; i < 10; i += 1) {
>>  if (window['FooBar' + i]) {
>>    target = document.getElementById('FooBar' + i);
>>    if (target) {
>>      target.textContent = window['FooBar' + i];
>>[…]
> 
> Nein, sondern
> 
>   target.textContent = this['FooBar' + i];
[...]
> <Gebetsmühle>
> 
> 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'. Die Magie des
Objektes geht auch nicht weg, wenn man 'this' statt 'window' schreibt,
'this.location = "..."' löst ebenfalls eine Navigation aus.

>>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.


  Stefan

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