Path: csiph.com!au2pb.net!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Thomas 'PointedEars' Lahn Newsgroups: de.comp.lang.javascript Subject: Re: Schleife =?UTF-8?B?ZsO8cg==?= document.getElementBy ... innerHTML? Date: Wed, 12 Aug 2015 20:54:49 +0200 Organization: PointedEars Software (PES) Lines: 42 Message-ID: <2473063.o0E3eExaDO@PointedEars.de> References: <20150812093317.00f07bc8@ravenworks.netz> <5808078.Mu2qdKNV6c@PointedEars.de> Reply-To: Thomas 'PointedEars' Lahn Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit X-Trace: solani.org 1439405903 29114 eJwNx8kBwDAIA7CVag5DxqFQ9h8h1U+uBDuMTvP13fUs0ZhGes+/OKn9RmII+7hAHqSUTNVTFx4wEQw= (12 Aug 2015 18:58:23 GMT) X-Complaints-To: abuse@news.solani.org NNTP-Posting-Date: Wed, 12 Aug 2015 18:58:23 +0000 (UTC) User-Agent: KNode/4.14.2 X-User-ID: eJwFwYEBwCAIA7CXQFuQc3TQ/09Ywh0eXyIYoCg5jpJk7ULze0xLf2WL+/ZNWXOhXrkP80aXxGPImVka/DP5FR8= Cancel-Lock: sha1:Jqej5W/JdM6NrHKP9devnWJ0Ooc= X-NNTP-Posting-Host: eJwFwQkBACAIA8BK8g2MI+j6R/AuDIJJR8CDQXVQ76Pb6qWotycTdSHZpbX1nGkyRBwWtA8S2RCu Mail-Copies-To: usenet@PointedEars.de Xref: csiph.com de.comp.lang.javascript:4698 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: | SVN: Twitter: @PointedEars2 | ES Matrix: Please do not cc me. / Bitte keine Kopien per E-Mail.