<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>javascript.de</title>
    <link>http://www.javascript.de/</link>
    <description>Deutsches JavaScript-Portal</description>
    <copyright>PULSAR interactive media GmbH</copyright>
    <lastBuildDate>Wed, 13 Apr 2005 15:39:09 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.7.5016.2</generator>
    <managingEditor>tb@pim.de</managingEditor>
    <webMaster>tb@pim.de</webMaster>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,9c70b289-8bb3-44f3-adbb-f9810cebe207.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,9c70b289-8bb3-44f3-adbb-f9810cebe207.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Das braucht man immer wieder mal, und <a href="http://www.pageresource.com/jscript/jdropbox.htm">hier
      wird es ganz gut und ausführlich erklärt und beschrieben</a>. 
   </p>
        <p>
          <a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,ae0857c7-b473-485e-adaf-af97bce3eba1.aspx">Thomas</a>
        </p>
      </body>
      <title>Gewaehlten Value einer Selectbox abfragen</title>
      <guid>http://www.javascript.de/PermaLink,guid,9c70b289-8bb3-44f3-adbb-f9810cebe207.aspx</guid>
      <link>http://www.javascript.de/GewaehltenValueEinerSelectboxAbfragen.aspx</link>
      <pubDate>Wed, 13 Apr 2005 15:39:09 GMT</pubDate>
      <description>&lt;p&gt;
   Das braucht man immer wieder mal, und &lt;a href="http://www.pageresource.com/jscript/jdropbox.htm"&gt;hier
   wird es ganz gut und ausführlich erklärt und beschrieben&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,ae0857c7-b473-485e-adaf-af97bce3eba1.aspx"&gt;Thomas&lt;/a&gt;
&lt;/p&gt;</description>
      <category>TippsUndTricks</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,06462fa6-ab78-41f2-9807-5779283538e3.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,06462fa6-ab78-41f2-9807-5779283538e3.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div class="itemBodyStyle">
          <p>
         Wie öffnet man auf der Hauptseite ein Popup-Fenster, und leitet anschließend gleich
         auf eine andere Seite weiter?
      </p>
          <p>
         So:
      </p>
          <p align="left">
            <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">&lt;a
         href=<span style="FONT-SIZE: 11px; COLOR: rgb(102,102,102); FONT-FAMILY: Courier New; BACKGROUND-COLOR: rgb(228,228,228)">"javascript:window.open<br />
         ('popup.htm','popup');self.location.href='seite2.htm';"</span>&gt;Link&lt;/a&gt;</span>
          </p>
        </div>
        <p>
          <a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,00ddadc5-7507-4dda-9493-8b1b3618a66b.aspx">Thomas</a>
        </p>
      </body>
      <title>Erst Popup oeffnen, dann weiterleiten</title>
      <guid>http://www.javascript.de/PermaLink,guid,06462fa6-ab78-41f2-9807-5779283538e3.aspx</guid>
      <link>http://www.javascript.de/ErstPopupOeffnenDannWeiterleiten.aspx</link>
      <pubDate>Wed, 13 Apr 2005 15:37:58 GMT</pubDate>
      <description>&lt;div class=itemBodyStyle&gt;
   &lt;p&gt;
      Wie öffnet man auf der Hauptseite ein Popup-Fenster, und leitet anschließend gleich
      auf eine andere Seite weiter?
   &lt;/p&gt;
   &lt;p&gt;
      So:
   &lt;/p&gt;
   &lt;p align=left&gt;
      &lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;lt;a
      href=&lt;span style="FONT-SIZE: 11px; COLOR: rgb(102,102,102); FONT-FAMILY: Courier New; BACKGROUND-COLOR: rgb(228,228,228)"&gt;"javascript:window.open&lt;br&gt;
      ('popup.htm','popup');self.location.href='seite2.htm';"&lt;/span&gt;&amp;gt;Link&amp;lt;/a&amp;gt;&lt;/span&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
   &lt;a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,00ddadc5-7507-4dda-9493-8b1b3618a66b.aspx"&gt;Thomas&lt;/a&gt;
&lt;/p&gt;</description>
      <category>TippsUndTricks</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,6bda782a-6c42-4705-b43f-8b90e908ce4e.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,6bda782a-6c42-4705-b43f-8b90e908ce4e.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <!--StartFragment -->
        </p>
        <p>
      ... dabei jedoch einige Tags ignorieren. Das kann man zum Beispiel gebrauchen, wenn
      man einen Codesweeper bastelt, der von MSHTML in MSHTML kopierte Texte von ihrer Formatierung
      befreien, die Absätze jedoch erhalten soll (dafür hab ich's gebraucht).
   </p>
        <p>
          <font face="Courier New">content = "<b>blablabla</b>";</font>
        </p>
        <p>
          <font face="Courier New">oReg = new RegExp("<!--?[^-->]*&gt;","ig");<br />
      _content = content.match(oReg)</font>
        </p>
        <p>
          <font face="Courier New">for(i=0;i&lt;_content.length;i++) {<br />
       tag = _content[i].toLowerCase();<br />
       if(tag!="&lt;p&gt;"&amp;&amp;tag!="&lt;/p&gt;"&amp;&amp;tag!="&lt;br&gt;"&amp;&amp;tag!="&lt;br
      /&gt;"&amp;&amp;tag!="") {<br />
        content = content.replace(_content[i],'');<br />
       }<br />
      }</font>
        </p>
        <p>
          <a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,1af6737c-d7a1-4477-855f-98c756794fea.aspx">Thomas</a>
        </p>
      </body>
      <title>HTML-Tags mittels JavaScript entfernen ...</title>
      <guid>http://www.javascript.de/PermaLink,guid,6bda782a-6c42-4705-b43f-8b90e908ce4e.aspx</guid>
      <link>http://www.javascript.de/HTMLTagsMittelsJavaScriptEntfernen.aspx</link>
      <pubDate>Wed, 13 Apr 2005 15:36:24 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;!--StartFragment --&gt;
&lt;/p&gt;
&lt;p&gt;
   ... dabei jedoch einige Tags ignorieren. Das kann man zum Beispiel gebrauchen, wenn
   man einen Codesweeper bastelt, der von MSHTML in MSHTML kopierte Texte von ihrer Formatierung
   befreien, die Absätze jedoch erhalten soll (dafür hab ich's gebraucht).
&lt;/p&gt;
&lt;p&gt;
   &lt;font face="Courier New"&gt;content = "&lt;b&gt;blablabla&lt;/b&gt;";&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font face="Courier New"&gt;oReg = new RegExp("&lt;!--?[^--&gt;]*&amp;gt;","ig");&lt;br&gt;
   _content = content.match(oReg)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font face="Courier New"&gt;for(i=0;i&amp;lt;_content.length;i++) {&lt;br&gt;
   &amp;nbsp;tag = _content[i].toLowerCase();&lt;br&gt;
   &amp;nbsp;if(tag!="&amp;lt;p&amp;gt;"&amp;amp;&amp;amp;tag!="&amp;lt;/p&amp;gt;"&amp;amp;&amp;amp;tag!="&amp;lt;br&amp;gt;"&amp;amp;&amp;amp;tag!="&amp;lt;br
   /&amp;gt;"&amp;amp;&amp;amp;tag!="") {&lt;br&gt;
   &amp;nbsp;&amp;nbsp;content = content.replace(_content[i],'');&lt;br&gt;
   &amp;nbsp;}&lt;br&gt;
   }&lt;/font&gt; 
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,1af6737c-d7a1-4477-855f-98c756794fea.aspx"&gt;Thomas&lt;/a&gt;
&lt;/p&gt;</description>
      <category>TippsUndTricks</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,fa85c4a8-0688-4195-bfb6-b52214f27756.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,fa85c4a8-0688-4195-bfb6-b52214f27756.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Um den Fokus auf eine Textarea zu setzen bedarf es nicht viel, man muss lediglich
      die Methode .focus() des <a href="http://www.devguru.com/Technologies/ecmascript/quickref/textarea.html">Textarea-Objektes</a> aufrufen.
      Um den Cursor allerdings ans Ende des bereits geschriebenen Textes zu setzen muss
      man etwas tricksen: 
   </p>
        <div class="itemBodyStyle">
          <p>
            <font face="Courier New">&lt;form&gt;<br />
         &lt;textarea name="mytext"&gt;Das ist ein Text&lt;/textarea&gt;<br />
         &lt;/form&gt;<br />
         &lt;a href="javascript:setFocus()"&gt;Fokus setzen&lt;/a&gt;<br />
         &lt;script&gt;<br />
          var f = document.forms[0].mytext;<br />
          f.focus();<br />
          f.value += '';<br />
         &lt;/script&gt;</font>
          </p>
        </div>
        <!--StartFragment -->
        <div class="itemBodyStyle">
          <p>
            <a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,c1bcbe85-e27c-4a43-95a6-ee91d56c49c0.aspx">Thomas</a>
          </p>
        </div>
      </body>
      <title>Focus auf Textarea setzen</title>
      <guid>http://www.javascript.de/PermaLink,guid,fa85c4a8-0688-4195-bfb6-b52214f27756.aspx</guid>
      <link>http://www.javascript.de/FocusAufTextareaSetzen.aspx</link>
      <pubDate>Wed, 13 Apr 2005 15:35:43 GMT</pubDate>
      <description>&lt;p&gt;
   Um den Fokus auf eine Textarea zu setzen bedarf es nicht viel, man muss lediglich
   die Methode .focus() des &lt;a href="http://www.devguru.com/Technologies/ecmascript/quickref/textarea.html"&gt;Textarea-Objektes&lt;/a&gt; aufrufen.
   Um den Cursor allerdings ans Ende des bereits geschriebenen Textes zu setzen muss
   man etwas tricksen: 
&lt;/p&gt;
&lt;div class=itemBodyStyle&gt;
   &lt;p&gt;
      &lt;font face="Courier New"&gt;&amp;lt;form&amp;gt;&lt;br&gt;
      &amp;lt;textarea name="mytext"&amp;gt;Das ist ein Text&amp;lt;/textarea&amp;gt;&lt;br&gt;
      &amp;lt;/form&amp;gt;&lt;br&gt;
      &amp;lt;a href="javascript:setFocus()"&amp;gt;Fokus setzen&amp;lt;/a&amp;gt;&lt;br&gt;
      &amp;lt;script&amp;gt;&lt;br&gt;
      &amp;nbsp;var f = document.forms[0].mytext;&lt;br&gt;
      &amp;nbsp;f.focus();&lt;br&gt;
      &amp;nbsp;f.value += '';&lt;br&gt;
      &amp;lt;/script&amp;gt;&lt;/font&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;!--StartFragment --&gt;
&lt;div class=itemBodyStyle&gt;
   &lt;p&gt;
      &lt;a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,c1bcbe85-e27c-4a43-95a6-ee91d56c49c0.aspx"&gt;Thomas&lt;/a&gt;
   &lt;/p&gt;
&lt;/div&gt;</description>
      <category>TippsUndTricks</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,ca2865da-8746-4aa1-bf35-bfae62a2ec5f.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,ca2865da-8746-4aa1-bf35-bfae62a2ec5f.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <!--StartFragment --> ... funktioniert nicht ohne Weiteres. Hier gibt's die Lösung: <a href="http://devedge.netscape.com/viewsource/2003/xhtml-style-script/">http://devedge.netscape.com/viewsource/2003/xhtml-style-script/</a></p>
        <p>
          <a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,28b14d3b-79ce-4e67-8b58-9903b1b44a60.aspx">Thomas</a>
        </p>
      </body>
      <title>XHTML und eingebettetes JavaScript...</title>
      <guid>http://www.javascript.de/PermaLink,guid,ca2865da-8746-4aa1-bf35-bfae62a2ec5f.aspx</guid>
      <link>http://www.javascript.de/XHTMLUndEingebettetesJavaScript.aspx</link>
      <pubDate>Wed, 13 Apr 2005 15:34:51 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;!--StartFragment --&gt;&amp;nbsp;... funktioniert nicht ohne Weiteres. Hier gibt's die Lösung: &lt;a href="http://devedge.netscape.com/viewsource/2003/xhtml-style-script/"&gt;http://devedge.netscape.com/viewsource/2003/xhtml-style-script/&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,28b14d3b-79ce-4e67-8b58-9903b1b44a60.aspx"&gt;Thomas&lt;/a&gt;
&lt;/p&gt;</description>
      <category>TippsUndTricks</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,14354c18-45e0-4ba5-9431-a5747ac1db1d.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,14354c18-45e0-4ba5-9431-a5747ac1db1d.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <!--StartFragment -->Ich habe mich eben gewundert, weshalb in einem Projekt die <a href="http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/mshtml/reference/ifaces/window2/settimeout.asp">setTimeout-Methode</a> nicht
      mehr funktioniert hat, obwohl sie das vor 2 Monaten noch tat. 
   </p>
        <div class="itemBodyStyle">
          <p>
         Der Grund: ich habe beim Aufruf die Funktion, die ich verzögern wollte, nicht als
         String übergeben. Geht ja auch nicht wirklich aus der Doku hervor, dass das nötig
         ist - und kurioser Weise haben diverse Browser auf verschiedenen Windows-Installationen
         von 2000 und XP bis 2003 Server auch keinen Fehler ausgespuckt.
      </p>
          <p>
         Jedenfalls verhält sich setTimeout() ähnlich wie eval(), d.h. der als String übergebene
         Code wird entsprechend ausgeführt.
      </p>
          <p align="left">
         Falsch: <font face="Courier New">window.setTimeout(window.self.close(),250);</font><br />
         Richtig: <font face="Courier New">window.setTimeout("window.self.close()",250);</font></p>
          <p align="left">
            <a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,a52efc27-a0f2-4415-a651-9d92d99acb16.aspx">Thomas</a>
          </p>
        </div>
      </body>
      <title>setTimeout();</title>
      <guid>http://www.javascript.de/PermaLink,guid,14354c18-45e0-4ba5-9431-a5747ac1db1d.aspx</guid>
      <link>http://www.javascript.de/setTimeout.aspx</link>
      <pubDate>Wed, 13 Apr 2005 15:32:19 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;!--StartFragment --&gt;Ich habe mich eben gewundert, weshalb in einem Projekt die &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/mshtml/reference/ifaces/window2/settimeout.asp"&gt;setTimeout-Methode&lt;/a&gt; nicht
   mehr funktioniert hat, obwohl sie das vor 2 Monaten noch tat. 
&lt;/p&gt;
&lt;div class=itemBodyStyle&gt;
   &lt;p&gt;
      Der Grund: ich habe beim Aufruf die Funktion, die ich verzögern wollte, nicht als
      String übergeben. Geht ja auch nicht wirklich aus der Doku hervor, dass das nötig
      ist - und kurioser Weise haben diverse Browser auf verschiedenen Windows-Installationen
      von 2000 und XP bis 2003 Server auch keinen Fehler ausgespuckt.
   &lt;/p&gt;
   &lt;p&gt;
      Jedenfalls verhält sich setTimeout() ähnlich wie eval(), d.h. der als String übergebene
      Code wird entsprechend ausgeführt.
   &lt;/p&gt;
   &lt;p align=left&gt;
      Falsch: &lt;font face="Courier New"&gt;window.setTimeout(window.self.close(),250);&lt;/font&gt;
      &lt;br&gt;
      Richtig: &lt;font face="Courier New"&gt;window.setTimeout("window.self.close()",250);&lt;/font&gt;
   &lt;/p&gt;
   &lt;p align=left&gt;
      &lt;a href="http://blogs.dotnetgerman.com/thomas/PermaLink,guid,a52efc27-a0f2-4415-a651-9d92d99acb16.aspx"&gt;Thomas&lt;/a&gt;
   &lt;/p&gt;
&lt;/div&gt;</description>
      <category>TippsUndTricks</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,64727d6a-ba92-42e5-8cf9-7a6dc8588e31.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,64727d6a-ba92-42e5-8cf9-7a6dc8588e31.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Diese Sammlung sehr guter JavaScripts umfasst viele Bereiche und liefert einige interessante
      Lösungen zu verschiedensten Problemen. Unter anderem:
   </p>
        <!--StartFragment -->
        <ul>
          <li>
         Wysiwyg Editor</li>
          <li>
         SpreadSheet Editor</li>
          <li>
         Tree-View</li>
          <li>
         Slider Control</li>
          <li>
         Checkbox Control</li>
          <li>
         Radio Control</li>
          <li>
         Dropdown Control</li>
          <li>
         DatePicker Control</li>
          <li>
         ColorPicker Control</li>
          <li>
         FlipFlop</li>
          <li>
         MultiLevelSelector</li>
          <li>
         NumberField</li>
          <li>
         ExtendedTextField</li>
          <li>
         LimitedTextarea</li>
        </ul>
        <p>
          <a href="http://www.blueshoes.org/en/javascript/">http://www.blueshoes.org/en/javascript/</a>
        </p>
      </body>
      <title>BlueShoes JavaScript Collection</title>
      <guid>http://www.javascript.de/PermaLink,guid,64727d6a-ba92-42e5-8cf9-7a6dc8588e31.aspx</guid>
      <link>http://www.javascript.de/BlueShoesJavaScriptCollection.aspx</link>
      <pubDate>Wed, 13 Apr 2005 15:30:07 GMT</pubDate>
      <description>&lt;p&gt;
   Diese Sammlung sehr guter JavaScripts umfasst viele Bereiche und liefert einige interessante
   Lösungen zu verschiedensten Problemen. Unter anderem:
&lt;/p&gt;
&lt;!--StartFragment --&gt;
&lt;ul&gt;
   &lt;li&gt;
      Wysiwyg Editor&lt;/li&gt;
   &lt;li&gt;
      SpreadSheet Editor&lt;/li&gt;
   &lt;li&gt;
      Tree-View&lt;/li&gt;
   &lt;li&gt;
      Slider Control&lt;/li&gt;
   &lt;li&gt;
      Checkbox Control&lt;/li&gt;
   &lt;li&gt;
      Radio Control&lt;/li&gt;
   &lt;li&gt;
      Dropdown Control&lt;/li&gt;
   &lt;li&gt;
      DatePicker Control&lt;/li&gt;
   &lt;li&gt;
      ColorPicker Control&lt;/li&gt;
   &lt;li&gt;
      FlipFlop&lt;/li&gt;
   &lt;li&gt;
      MultiLevelSelector&lt;/li&gt;
   &lt;li&gt;
      NumberField&lt;/li&gt;
   &lt;li&gt;
      ExtendedTextField&lt;/li&gt;
   &lt;li&gt;
      LimitedTextarea&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   &lt;a href="http://www.blueshoes.org/en/javascript/"&gt;http://www.blueshoes.org/en/javascript/&lt;/a&gt;
&lt;/p&gt;</description>
      <category>Ressourcen</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,042843e0-ff09-4487-8f7e-87c7cb6a8409.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,042843e0-ff09-4487-8f7e-87c7cb6a8409.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      CoolMenus is an advanced menu script that I have been working on for years. If you
      have been browsing this site you have already used the script. The coolMenus have
      been downloaded over 200 000 times! 
   </p>
        <p>
          <!--StartFragment -->- Unlimited submenus<br />
      - 99% Browser compatibility (the web can be so tricky that I can't say 100%)<br />
      - Very customizable<br />
      - Very fast (considering the browser compatibility) 
   </p>
      </body>
      <title>CoolMenus</title>
      <guid>http://www.javascript.de/PermaLink,guid,042843e0-ff09-4487-8f7e-87c7cb6a8409.aspx</guid>
      <link>http://www.javascript.de/CoolMenus.aspx</link>
      <pubDate>Wed, 13 Apr 2005 15:27:56 GMT</pubDate>
      <description>&lt;p&gt;
   CoolMenus is an advanced menu script that I have been working on for years. If you
   have been browsing this site you have already used the script. The coolMenus have
   been downloaded over 200 000 times! 
&lt;/p&gt;
&lt;p&gt;
   &lt;!--StartFragment --&gt;- Unlimited submenus&lt;br&gt;
   - 99% Browser compatibility (the web can be so tricky that I can't say 100%)&lt;br&gt;
   - Very customizable&lt;br&gt;
   - Very fast (considering the browser compatibility) 
&lt;/p&gt;</description>
      <category>Ressourcen|Menues</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,210b24c9-fd38-495c-9397-87575a2175fc.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,210b24c9-fd38-495c-9397-87575a2175fc.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Die neueren Versionen von ECMAScript, wie sie im Internet Explorer 5 und Netscape
      Navigator 6 eingebaut sind, verfügen über eine von Java übernommene <tt>try ... catch</tt> Fehlerbehandlungsanweisung.
   </p>
        <p>
      Die <code>try ... catch ... finally</code> Anweisung fängt Ausnahmen (<i>exceptions</i>),
      die aufgrund eines Fehlers oder einer <i>throw</i>-Anweisung auftreten, ab. Die Syntax
      ist wie folgt:
   </p>
        <pre>try {
    // Anweisungen, in denen Ausnahmen auftreten oder ausgelöst werden können
} catch (error) {
    // Anweisungsfolge, die im Ausnahmefall ausgeführt wird.
    // In diesem Teil kann die Fehlerbehandlung erfolgen.
} finally {
    // Anweisungsfolge, die anschließend in jedem Fall ausgeführt wird.
}
</pre>
        <p>
      Zu Beginn werden die Anweisungen im <i>try</i>-Block ausgeführt. Falls eine Ausnahme
      auftritt, wird der Kontrollfluss sofort zum <i>catch</i>-Block mit dem Ausnahmeobjekt
      als Parameter umgeleitet.
   </p>
        <p>
      In Normalfall wird der Ausnahmeblock übersprungen. Nach der Ausführung des <i>try</i>-Blocks
      (auch teilweise) und gegebenenfalls des <i>catch</i>-Blocks werden in jedem Fall die
      Anweisungen im <i>finally</i>-Block ausgeführt.
   </p>
        <p>
      Der <code>finally</code>-Teil kann weggelassen werden, alternativ der <code>catch</code>-Teil:
   </p>
        <pre>try {
    // Anweisungen, in denen Ausnahmen auftreten können
} catch (error) {
    // Fehlerbehandlung
}
</pre>
        <pre>try {
    // Anweisungen, in denen Ausnahmen auftreten können
} finally {
    // Anweisungen, die in jedem Fall ausgeführt werden
}
</pre>
        <p>
          <em>Quelle: </em>
          <a href="http://www.wikipedia.org/">www.wikipedia.org</a>
        </p>
      </body>
      <title>Fehlerbehandlung</title>
      <guid>http://www.javascript.de/PermaLink,guid,210b24c9-fd38-495c-9397-87575a2175fc.aspx</guid>
      <link>http://www.javascript.de/Fehlerbehandlung.aspx</link>
      <pubDate>Wed, 13 Apr 2005 14:47:06 GMT</pubDate>
      <description>&lt;p&gt;
   Die neueren Versionen von ECMAScript, wie sie im Internet Explorer 5 und Netscape
   Navigator 6 eingebaut sind, verfügen über eine von Java übernommene &lt;tt&gt;try ... catch&lt;/tt&gt; Fehlerbehandlungsanweisung.
&lt;/p&gt;
&lt;p&gt;
   Die &lt;code&gt;try ... catch ... finally&lt;/code&gt; Anweisung fängt Ausnahmen (&lt;i&gt;exceptions&lt;/i&gt;),
   die aufgrund eines Fehlers oder einer &lt;i&gt;throw&lt;/i&gt;-Anweisung auftreten, ab. Die Syntax
   ist wie folgt:
&lt;/p&gt;
&lt;pre&gt;try {
    // Anweisungen, in denen Ausnahmen auftreten oder ausgelöst werden können
} catch (error) {
    // Anweisungsfolge, die im Ausnahmefall ausgeführt wird.
    // In diesem Teil kann die Fehlerbehandlung erfolgen.
} finally {
    // Anweisungsfolge, die anschließend in jedem Fall ausgeführt wird.
}
&lt;/pre&gt;
&lt;p&gt;
   Zu Beginn werden die Anweisungen im &lt;i&gt;try&lt;/i&gt;-Block ausgeführt. Falls eine Ausnahme
   auftritt, wird der Kontrollfluss sofort zum &lt;i&gt;catch&lt;/i&gt;-Block mit dem Ausnahmeobjekt
   als Parameter umgeleitet.
&lt;/p&gt;
&lt;p&gt;
   In Normalfall wird der Ausnahmeblock übersprungen. Nach der Ausführung des &lt;i&gt;try&lt;/i&gt;-Blocks
   (auch teilweise) und gegebenenfalls des &lt;i&gt;catch&lt;/i&gt;-Blocks werden in jedem Fall die
   Anweisungen im &lt;i&gt;finally&lt;/i&gt;-Block ausgeführt.
&lt;/p&gt;
&lt;p&gt;
   Der &lt;code&gt;finally&lt;/code&gt;-Teil kann weggelassen werden, alternativ der &lt;code&gt;catch&lt;/code&gt;-Teil:
&lt;/p&gt;
&lt;pre&gt;try {
    // Anweisungen, in denen Ausnahmen auftreten können
} catch (error) {
    // Fehlerbehandlung
}
&lt;/pre&gt;
&lt;pre&gt;try {
    // Anweisungen, in denen Ausnahmen auftreten können
} finally {
    // Anweisungen, die in jedem Fall ausgeführt werden
}
&lt;/pre&gt;
&lt;p&gt;
   &lt;em&gt;Quelle: &lt;/em&gt;&lt;a href="http://www.wikipedia.org/"&gt;www.wikipedia.org&lt;/a&gt;
&lt;/p&gt;</description>
      <category>Die Sprache|7 - Fehlerbehandlung</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,c2555a66-6e52-4658-ab0f-bb773e842c27.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,c2555a66-6e52-4658-ab0f-bb773e842c27.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Meist erfolgt die Benutzerinteraktion über HTML-Formulare, auf deren Elemente man
      über das DOM zugreift. Es gibt jedoch auch einige einfache Arten, direkt mit dem Benutzer
      zu kommunizieren:
   </p>
        <p>
          <!--StartFragment -->
          <strong>Alarm-Dialog</strong>
        </p>
        <p>
      Gibt ein Fenster mit einer Textmeldung aus. Beispiel:
   </p>
        <pre>window.alert("Hallo Welt");
</pre>
        <!--StartFragment -->
        <strong>
          <br />
   Bestätigungsdialog </strong>
        <p>
      Zeigt einen Dialog mit den Schaltflächen „OK“ und „Abbrechen“ an. Zurückgegeben wird
      ein <a title="Boolesche Variable" href="http://de.wikipedia.org/wiki/Boolesche_Variable">boolescher
      Wert</a>, je nachdem welche Schaltfläche der Benutzer ausgewählt hat.
   </p>
        <pre>var bestaetigt = window.confirm("Bitte bestätigen");
</pre>
        <p>
          <strong>Eingabeaufforderung </strong>
        </p>
        <p>
      Es wird ein Dialog zur Informationseingabe angezeigt. Beispiel:
   </p>
        <pre>var eingabe = window.prompt("Bitte geben Sie einen Text ein:", "");
</pre>
        <p>
          <em>Quelle: </em>
          <a href="http://www.wikipedia.org/">
            <font color="#2a8fbd">
              <em>www.wikipedia.org</em>
            </font>
          </a>
        </p>
      </body>
      <title>Benutzerinteraktion</title>
      <guid>http://www.javascript.de/PermaLink,guid,c2555a66-6e52-4658-ab0f-bb773e842c27.aspx</guid>
      <link>http://www.javascript.de/Benutzerinteraktion.aspx</link>
      <pubDate>Wed, 13 Apr 2005 14:45:35 GMT</pubDate>
      <description>&lt;p&gt;
   Meist erfolgt die Benutzerinteraktion über HTML-Formulare, auf deren Elemente man
   über das DOM zugreift. Es gibt jedoch auch einige einfache Arten, direkt mit dem Benutzer
   zu kommunizieren:
&lt;/p&gt;
&lt;p&gt;
   &lt;!--StartFragment --&gt;&lt;strong&gt;Alarm-Dialog&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   Gibt ein Fenster mit einer Textmeldung aus. Beispiel:
&lt;/p&gt;
&lt;pre&gt;window.alert("Hallo Welt");
&lt;/pre&gt;
&lt;!--StartFragment --&gt;&lt;strong&gt;
&lt;br&gt;
Bestätigungsdialog &lt;/strong&gt; 
&lt;p&gt;
   Zeigt einen Dialog mit den Schaltflächen „OK“ und „Abbrechen“ an. Zurückgegeben wird
   ein &lt;a title="Boolesche Variable" href="http://de.wikipedia.org/wiki/Boolesche_Variable"&gt;boolescher
   Wert&lt;/a&gt;, je nachdem welche Schaltfläche der Benutzer ausgewählt hat.
&lt;/p&gt;
&lt;pre&gt;var bestaetigt = window.confirm("Bitte bestätigen");
&lt;/pre&gt;
&lt;p&gt;
   &lt;strong&gt;Eingabeaufforderung &lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   Es wird ein Dialog zur Informationseingabe angezeigt. Beispiel:
&lt;/p&gt;
&lt;pre&gt;var eingabe = window.prompt("Bitte geben Sie einen Text ein:", "");
&lt;/pre&gt;
&lt;p&gt;
   &lt;em&gt;Quelle: &lt;/em&gt;&lt;a href="http://www.wikipedia.org/"&gt;&lt;font color=#2a8fbd&gt;&lt;em&gt;www.wikipedia.org&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;</description>
      <category>Die Sprache|6 - Benutzerinteraktion</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,3fb3a370-7264-4af6-822c-d60fa4c9908d.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,3fb3a370-7264-4af6-822c-d60fa4c9908d.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Jedes <code>Function</code>-Objekt verfügt über eine <code>prototype</code>-Eigenschaft.
      Diese ist von besonderer Bedeutung, wenn die Funktion genutzt wird, um neue Objekte
      zu initialisieren (siehe Konstruktor). Die <code>prototype</code>-Eigenschaft definiert
      in diesem Falle gemeinsame Eigenschaften aller Objekte, die mit dem Konstruktor erstellt
      werden. Man spricht von Prototyp-basierter Vererbung. Auf diese Weise ermöglicht JavaScript
      mehrstufige Vererbung:
   </p>
        <p>
      Konstruktor eines Prototyps erstellen:
   </p>
        <pre>function Kraftfahrzeug (Fabrikat) {
   this.Fabrikat = Fabrikat;
   this.Beispieleigenschaft = "Beispielwert";
}
</pre>
        <p>
      Konstruktor des abgeleiteten Prototyps erstellen:
   </p>
        <pre>function PKW (Fabrikat) {
   this.constructor(Fabrikat);
   this.weitereEigenschaft = "Beispielwert";
}
PKW.prototype = new Kraftfahrzeug();
</pre>
        <p>
      Eine neue Instanz des allgemeinen Prototyps dient als Muster des abgeleiteten Prototyps.
      Dadurch werden die Eigenschaften des allgemeinen Prototyps an den abgeleiteten Prototyp
      vererbt: Jedes PKW-Objekt ist gleichzeitig ein Kraftfahrzeug-Objekt. Über <code>this.constructor</code> kann
      im PKW-Konstruktor der Kraftfahrzeug-Konstruktor angesprochen werden. Dies wird im
      Beispiel dazu genutzt, die Parameter an letztgenannten weiterzugeben. So muss <code>this.Fabrikat
      = Fabrikat;</code> nur im Kraftfahrzeug-Konstruktor notiert sein.
   </p>
        <p>
      Instanz des Prototyps <code>PKW</code> erstellen:
   </p>
        <pre>var Golf = new PKW("Volkswagen Golf");
var Ente = new PKW("Citroen 2CV");
</pre>
        <p>
      Über die <code>prototype</code>-Eigenschaft der Konstruktorfunktion können einem Prototyp
      auch nachträglich Eigenschaften und Methoden hinzugefügt werden. Diese Änderungen
      wirken sich auf alle davon abgeleiteten Objekte aus:
   </p>
        <pre>PKW.prototype.Radanzahl = 4;
PKW.prototype.zeigeRadanzahl = function () {
   window.alert(this.Name + " hat " + this.Radanzahl + " Räder.");
};
Golf.zeigeRadanzahl(); // Volkswagen Golf hat 4 Räder.
Ente.zeigeRadanzahl(); // Citroen 2CV hat 4 Räder.
</pre>
        <p>
      Eine nützliche Methode des <code>Object</code>-Prototyps ist <code>hasOwnProperty(Eigenschaftsname)</code>.
      Sie gibt einen booleschen Wert, also <code>true</code> oder <code>false</code> zurück.
      Dadurch lässt sich ermitteln, ob eine bestimmte Eigenschaft durch dessen Konstruktor
      selbst oder durch seine Prototyp-Kette definiert wird. Im Beispiel ergibt <code>Golf.hasOwnProperty("Radanzahl")</code><code>false</code>,
      ebenso wie <code>Golf.hasOwnProperty("zeigeRadanzahl")</code>. Beide Eigenschaften
      wurden nachträglich über <code>PKW.prototype</code> hinzugefügt. <code>Golf.hasOwnProperty("Fabrikat")</code> und <code>Golf.hasOwnProperty("weitereEigenschaft")</code> hingegen
      ergeben <code>true</code>, weil diese Eigenschaften durch die Konstruktoren <code>Kraftfahrzeug</code> und <code>PKW</code> belegt
      wurden.
   </p>
        <p>
          <em>Quelle: </em>
          <a href="http://www.wikipedia.org/">www.wikipedia.org</a>
        </p>
      </body>
      <title>Vererbung (prototype-Eigenschaft)</title>
      <guid>http://www.javascript.de/PermaLink,guid,3fb3a370-7264-4af6-822c-d60fa4c9908d.aspx</guid>
      <link>http://www.javascript.de/VererbungPrototypeEigenschaft.aspx</link>
      <pubDate>Wed, 13 Apr 2005 14:43:32 GMT</pubDate>
      <description>&lt;p&gt;
   Jedes &lt;code&gt;Function&lt;/code&gt;-Objekt verfügt über eine &lt;code&gt;prototype&lt;/code&gt;-Eigenschaft.
   Diese ist von besonderer Bedeutung, wenn die Funktion genutzt wird, um neue Objekte
   zu initialisieren (siehe Konstruktor). Die &lt;code&gt;prototype&lt;/code&gt;-Eigenschaft definiert
   in diesem Falle gemeinsame Eigenschaften aller Objekte, die mit dem Konstruktor erstellt
   werden. Man spricht von Prototyp-basierter Vererbung. Auf diese Weise ermöglicht JavaScript
   mehrstufige Vererbung:
&lt;/p&gt;
&lt;p&gt;
   Konstruktor eines Prototyps erstellen:
&lt;/p&gt;
&lt;pre&gt;function Kraftfahrzeug (Fabrikat) {
   this.Fabrikat = Fabrikat;
   this.Beispieleigenschaft = "Beispielwert";
}
&lt;/pre&gt;
&lt;p&gt;
   Konstruktor des abgeleiteten Prototyps erstellen:
&lt;/p&gt;
&lt;pre&gt;function PKW (Fabrikat) {
   this.constructor(Fabrikat);
   this.weitereEigenschaft = "Beispielwert";
}
PKW.prototype = new Kraftfahrzeug();
&lt;/pre&gt;
&lt;p&gt;
   Eine neue Instanz des allgemeinen Prototyps dient als Muster des abgeleiteten Prototyps.
   Dadurch werden die Eigenschaften des allgemeinen Prototyps an den abgeleiteten Prototyp
   vererbt: Jedes PKW-Objekt ist gleichzeitig ein Kraftfahrzeug-Objekt. Über &lt;code&gt;this.constructor&lt;/code&gt; kann
   im PKW-Konstruktor der Kraftfahrzeug-Konstruktor angesprochen werden. Dies wird im
   Beispiel dazu genutzt, die Parameter an letztgenannten weiterzugeben. So muss &lt;code&gt;this.Fabrikat
   = Fabrikat;&lt;/code&gt; nur im Kraftfahrzeug-Konstruktor notiert sein.
&lt;/p&gt;
&lt;p&gt;
   Instanz des Prototyps &lt;code&gt;PKW&lt;/code&gt; erstellen:
&lt;/p&gt;
&lt;pre&gt;var Golf = new PKW("Volkswagen Golf");
var Ente = new PKW("Citroen 2CV");
&lt;/pre&gt;
&lt;p&gt;
   Über die &lt;code&gt;prototype&lt;/code&gt;-Eigenschaft der Konstruktorfunktion können einem Prototyp
   auch nachträglich Eigenschaften und Methoden hinzugefügt werden. Diese Änderungen
   wirken sich auf alle davon abgeleiteten Objekte aus:
&lt;/p&gt;
&lt;pre&gt;PKW.prototype.Radanzahl = 4;
PKW.prototype.zeigeRadanzahl = function () {
   window.alert(this.Name + " hat " + this.Radanzahl + " Räder.");
};
Golf.zeigeRadanzahl(); // Volkswagen Golf hat 4 Räder.
Ente.zeigeRadanzahl(); // Citroen 2CV hat 4 Räder.
&lt;/pre&gt;
&lt;p&gt;
   Eine nützliche Methode des &lt;code&gt;Object&lt;/code&gt;-Prototyps ist &lt;code&gt;hasOwnProperty(Eigenschaftsname)&lt;/code&gt;.
   Sie gibt einen booleschen Wert, also &lt;code&gt;true&lt;/code&gt; oder &lt;code&gt;false&lt;/code&gt; zurück.
   Dadurch lässt sich ermitteln, ob eine bestimmte Eigenschaft durch dessen Konstruktor
   selbst oder durch seine Prototyp-Kette definiert wird. Im Beispiel ergibt &lt;code&gt;Golf.hasOwnProperty("Radanzahl")&lt;/code&gt; &lt;code&gt;false&lt;/code&gt;,
   ebenso wie &lt;code&gt;Golf.hasOwnProperty("zeigeRadanzahl")&lt;/code&gt;. Beide Eigenschaften
   wurden nachträglich über &lt;code&gt;PKW.prototype&lt;/code&gt; hinzugefügt. &lt;code&gt;Golf.hasOwnProperty("Fabrikat")&lt;/code&gt; und &lt;code&gt;Golf.hasOwnProperty("weitereEigenschaft")&lt;/code&gt; hingegen
   ergeben &lt;code&gt;true&lt;/code&gt;, weil diese Eigenschaften durch die Konstruktoren &lt;code&gt;Kraftfahrzeug&lt;/code&gt; und &lt;code&gt;PKW&lt;/code&gt; belegt
   wurden.
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;Quelle: &lt;/em&gt;&lt;a href="http://www.wikipedia.org/"&gt;www.wikipedia.org&lt;/a&gt;
&lt;/p&gt;</description>
      <category>Die Sprache|5 - Vererbung</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,3070896b-38ea-40c0-b13a-3bdd42c1e66b.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,3070896b-38ea-40c0-b13a-3bdd42c1e66b.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Eine Funktion ist ein Block mit einer Liste (evt. auch leer) von Parametern, dem ein
      Name zugewiesen wird. Eine Funktion kann einen Resultatwert zurückgeben.
   </p>
        <pre>function meineFunktion(param1, param2, param3) {
    Anweisungen;
    return Ausdruck;
}
</pre>
        <p>
          <i>Beispiel:</i> Der ursprüngliche Algorithmus von Euklid zur Ermittlung des größten
      gemeinsamen Teilers: Es ist eine geometrische Lösung; die kleinere Strecke wird jeweils
      von der größeren abgezogen.
   </p>
        <pre>function gcd(a, b) {
    while (a != b) {
        if (a &gt; b) {
            a = a - b;
        } else {
           b = b - a;
        }
    }
    return a;
}
</pre>
        <p>
      Die Anzahl der Parameter beim Aufruf muss nicht zwingend mit der Anzahl der Parameter
      in der Funktionsdefinition übereinstimmen. Wenn beim Aufruf weniger Parameter angegeben
      werden, dann wird für die übrigen Parameter einfach der Wert undefined eingesetzt.
      Weiter kann innerhalb der Funktion auch über das <code>arguments</code>-Array auf
      die Parameter zugegriffen werden.
   </p>
        <p>
          <!--StartFragment -->
          <strong>Konstruktor-Funktionen</strong>
        </p>
        <p>
      Wird eine Javascript-Funktion genutzt, um mit <code>new</code> erstellte Objekte zu
      initialisieren, spricht man von einem Konstruktor. Innerhalb des Konstruktors kann
      das neue Objekt über die <code>this</code>-Variable angesprochen werden:
   </p>
        <pre>function meinObjekt () {
    this.zahl = 1;
}
</pre>
        <p>
      Neue Instanz erstellen:
   </p>
        <pre>var obj = new meinObjekt();
</pre>
        <p>
      Test der Eigenschaft "zahl". Es wird "1" ausgegeben.
   </p>
        <pre>window.alert(obj.zahl);
</pre>
        <p>
      Wenn Sie eigene Objekte mit gemeinsamen Eigenschaften erstellen wollen, ist es oftmals
      besser, diese Eigenschaften nicht im Konstruktor, sondern über die Prototyp-Kette
      zu erstellen (siehe Vererbung). Auf diese Weise benötigen die Javascript-Objekte weniger
      Speicher, denn die Eigenschaften werden nicht für alle Objekte, sondern nur für den
      Prototyp abgelegt.
   </p>
        <p>
          <strong>Private Eigenschaften</strong>
        </p>
        <p>
      Entgegen der vorherrschenden Meinung unterstützt Javascript private Eigenschaften,
      also Eigenschaften, die nur für das Objekt selbst sichtbar sind, nicht aber für andere
      Objekte. Im folgenden Beispiel wird die private Eigenschaft <code>zahl1</code> definiert,
      die nur durch die Methoden <code>getZahl1()</code> und <code>getNext()</code> ausgelesen
      bzw. verändert werden kann.
   </p>
        <pre>function MyClass() {
    var zahl1 = 1;
    this.getZahl1 = function () { return zahl1; }
    this.getNext  = function () { return ++zahl1; }
}
</pre>
        <p>
      neue Instanz der Klasse erstellen:
   </p>
        <pre>var obj = new MyClass;
</pre>
        <p>
          <code>zahl1</code> ist von außen nicht zugreifbar, daher wird "undefined" ausgegeben:
   </p>
        <pre>window.alert(obj.zahl1);
</pre>
        <p>
      Es wird "1" ausgegeben:
   </p>
        <pre>window.alert(obj.getZahl1());
</pre>
        <p>
      Es wird "2" ausgegeben
   </p>
        <pre>window.alert(obj.getNext());
</pre>
        <p>
          <strong>Funktionales Programmieren</strong>
        </p>
        <p>
      Da Funktionen in JavaScript vollwertige Objekte sind, sind sie Funktionen höherer
      Ordnung und können auch als Parameter an andere Funktionen übergeben werden.
   </p>
        <p>
      Die Lambda-Notation des Lambda-Kalküls wird so geschrieben:
   </p>
        <pre>function (x) { return x*x + 2*x + 10; }
</pre>
        <p>
      Beispiel für Verwendung einer Funktion höherer Ordnung:
   </p>
        <pre>Array.prototype.fold =
function (value, functor) {
    var result = value;
    for (var i = 0; i &lt; this.length; i++) {
        result = functor(result, this[i]);
    }
    return result;
}
var sum = [21,33,17,12].fold(0, function (a, b) { return a + b; })
</pre>
        <p>
      Ebenso ist es möglich <i>curried functions</i> zu schreiben:
   </p>
        <pre>function add(a, b) {
    if (arguments.length &lt; 1) return add;
    if (arguments.length &lt; 2) return function(c) { return a + c; }
    else return a + b;
}
</pre>
        <p>
          <em>Quelle: </em>
          <a href="http://www.wikipedia.org/">www.wikipedia.org</a>
        </p>
      </body>
      <title>Funktionen</title>
      <guid>http://www.javascript.de/PermaLink,guid,3070896b-38ea-40c0-b13a-3bdd42c1e66b.aspx</guid>
      <link>http://www.javascript.de/Funktionen.aspx</link>
      <pubDate>Wed, 13 Apr 2005 14:41:59 GMT</pubDate>
      <description>&lt;p&gt;
   Eine Funktion ist ein Block mit einer Liste (evt. auch leer) von Parametern, dem ein
   Name zugewiesen wird. Eine Funktion kann einen Resultatwert zurückgeben.
&lt;/p&gt;
&lt;pre&gt;function meineFunktion(param1, param2, param3) {
    Anweisungen;
    return Ausdruck;
}
&lt;/pre&gt;
&lt;p&gt;
   &lt;i&gt;Beispiel:&lt;/i&gt; Der ursprüngliche Algorithmus von Euklid zur Ermittlung des größten
   gemeinsamen Teilers: Es ist eine geometrische Lösung; die kleinere Strecke wird jeweils
   von der größeren abgezogen.
&lt;/p&gt;
&lt;pre&gt;function gcd(a, b) {
    while (a != b) {
        if (a &amp;gt; b) {
            a = a - b;
        } else {
           b = b - a;
        }
    }
    return a;
}
&lt;/pre&gt;
&lt;p&gt;
   Die Anzahl der Parameter beim Aufruf muss nicht zwingend mit der Anzahl der Parameter
   in der Funktionsdefinition übereinstimmen. Wenn beim Aufruf weniger Parameter angegeben
   werden, dann wird für die übrigen Parameter einfach der Wert undefined eingesetzt.
   Weiter kann innerhalb der Funktion auch über das &lt;code&gt;arguments&lt;/code&gt;-Array auf
   die Parameter zugegriffen werden.
&lt;/p&gt;
&lt;p&gt;
   &lt;!--StartFragment --&gt;&lt;strong&gt;Konstruktor-Funktionen&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   Wird eine Javascript-Funktion genutzt, um mit &lt;code&gt;new&lt;/code&gt; erstellte Objekte zu
   initialisieren, spricht man von einem Konstruktor. Innerhalb des Konstruktors kann
   das neue Objekt über die &lt;code&gt;this&lt;/code&gt;-Variable angesprochen werden:
&lt;/p&gt;
&lt;pre&gt;function meinObjekt () {
    this.zahl = 1;
}
&lt;/pre&gt;
&lt;p&gt;
   Neue Instanz erstellen:
&lt;/p&gt;
&lt;pre&gt;var obj = new meinObjekt();
&lt;/pre&gt;
&lt;p&gt;
   Test der Eigenschaft "zahl". Es wird "1" ausgegeben.
&lt;/p&gt;
&lt;pre&gt;window.alert(obj.zahl);
&lt;/pre&gt;
&lt;p&gt;
   Wenn Sie eigene Objekte mit gemeinsamen Eigenschaften erstellen wollen, ist es oftmals
   besser, diese Eigenschaften nicht im Konstruktor, sondern über die Prototyp-Kette
   zu erstellen (siehe Vererbung). Auf diese Weise benötigen die Javascript-Objekte weniger
   Speicher, denn die Eigenschaften werden nicht für alle Objekte, sondern nur für den
   Prototyp abgelegt.
&lt;/p&gt;
&lt;p&gt;
   &lt;strong&gt;Private Eigenschaften&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   Entgegen der vorherrschenden Meinung unterstützt Javascript private Eigenschaften,
   also Eigenschaften, die nur für das Objekt selbst sichtbar sind, nicht aber für andere
   Objekte. Im folgenden Beispiel wird die private Eigenschaft &lt;code&gt;zahl1&lt;/code&gt; definiert,
   die nur durch die Methoden &lt;code&gt;getZahl1()&lt;/code&gt; und &lt;code&gt;getNext()&lt;/code&gt; ausgelesen
   bzw. verändert werden kann.
&lt;/p&gt;
&lt;pre&gt;function MyClass() {
    var zahl1 = 1;
    this.getZahl1 = function () { return zahl1; }
    this.getNext  = function () { return ++zahl1; }
}
&lt;/pre&gt;
&lt;p&gt;
   neue Instanz der Klasse erstellen:
&lt;/p&gt;
&lt;pre&gt;var obj = new MyClass;
&lt;/pre&gt;
&lt;p&gt;
   &lt;code&gt;zahl1&lt;/code&gt; ist von außen nicht zugreifbar, daher wird "undefined" ausgegeben:
&lt;/p&gt;
&lt;pre&gt;window.alert(obj.zahl1);
&lt;/pre&gt;
&lt;p&gt;
   Es wird "1" ausgegeben:
&lt;/p&gt;
&lt;pre&gt;window.alert(obj.getZahl1());
&lt;/pre&gt;
&lt;p&gt;
   Es wird "2" ausgegeben
&lt;/p&gt;
&lt;pre&gt;window.alert(obj.getNext());
&lt;/pre&gt;
&lt;p&gt;
   &lt;strong&gt;Funktionales Programmieren&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   Da Funktionen in JavaScript vollwertige Objekte sind, sind sie Funktionen höherer
   Ordnung und können auch als Parameter an andere Funktionen übergeben werden.
&lt;/p&gt;
&lt;p&gt;
   Die Lambda-Notation des Lambda-Kalküls wird so geschrieben:
&lt;/p&gt;
&lt;pre&gt;function (x) { return x*x + 2*x + 10; }
&lt;/pre&gt;
&lt;p&gt;
   Beispiel für Verwendung einer Funktion höherer Ordnung:
&lt;/p&gt;
&lt;pre&gt;Array.prototype.fold =
function (value, functor) {
    var result = value;
    for (var i = 0; i &amp;lt; this.length; i++) {
        result = functor(result, this[i]);
    }
    return result;
}
var sum = [21,33,17,12].fold(0, function (a, b) { return a + b; })
&lt;/pre&gt;
&lt;p&gt;
   Ebenso ist es möglich &lt;i&gt;curried functions&lt;/i&gt; zu schreiben:
&lt;/p&gt;
&lt;pre&gt;function add(a, b) {
    if (arguments.length &amp;lt; 1) return add;
    if (arguments.length &amp;lt; 2) return function(c) { return a + c; }
    else return a + b;
}
&lt;/pre&gt;
&lt;p&gt;
   &lt;em&gt;Quelle: &lt;/em&gt;&lt;a href="http://www.wikipedia.org/"&gt;www.wikipedia.org&lt;/a&gt;
&lt;/p&gt;</description>
      <category>Die Sprache|4 - Funktionen</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,15664832-584b-42b0-a0ac-83f2d168a1be.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,15664832-584b-42b0-a0ac-83f2d168a1be.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>If ... else</strong>
        </p>
        <pre>if (Bedingung) {
    Anweisungen;
} else {
    Anweisungen;
}
</pre>
        <p>
          <strong>If ... else if ... else</strong>
        </p>
        <p>
      In JavaScript gibt es im Gegensatz zu anderen Programmiersprachen keine Kontrollstruktur <code>if
      ... elseif ...</code>. An dessen Stelle kann man zwei <code>if</code>-Anweisungen
      verwenden, von denen die erste die zweite in ihrem <code>else</code>-Teil enthält:
   </p>
        <pre>if (Bedingung) {
    Anweisungen;
} else
    if (Bedingung) {
        Anweisungen;
    } else {
        Anweisungen;
    }
</pre>
        <p>
          <strong>While-Schleife</strong>
        </p>
        <pre>while (Bedingung) {
    Anweisungen;
}
</pre>
        <p>
      Falls die Bedingung gleich <code>true</code> oder 1 ist, kann es passieren, dass sich
      der Browser aufhängt, außer wenn irgendwann in der Schleife ein <code>break;</code> oder
      ein <code>return;</code> aufgerufen wird.
   </p>
        <p>
          <strong>Do ... while</strong>
        </p>
        <pre>do {
    Anweisungen;
} while (Bedingung);</pre>
        <p>
          <!--StartFragment -->For-Schleife
   </p>
        <pre>for ([Startausdruck]; [Bedingung]; [Inkrementier-Ausdruck]) {
    Anweisungen;
}
</pre>
        <p>
          <strong>For ... in-Schleife</strong>
        </p>
        <p>
      Mit dieser Anweisung werden alle Eigenschaften eines Objektes durchlaufen (oder auch
      alle Elemente eines Feldes).
   </p>
        <pre>for (variable in object) {
    Anweisungen;
}
</pre>
        <p>
          <strong>Switch-Ausdruck</strong>
        </p>
        <pre>switch (Ausdruck) {
    case marke1 :
        Anweisungen;
        break;
    case marke2 :
        Anweisungen;
        break;
    default :
        Anweisungen;
}</pre>
        <em>Quelle: </em>
        <a href="http://www.wikipedia.org/">www.wikipedia.org</a>
      </body>
      <title>Kontrollstrukturen</title>
      <guid>http://www.javascript.de/PermaLink,guid,15664832-584b-42b0-a0ac-83f2d168a1be.aspx</guid>
      <link>http://www.javascript.de/Kontrollstrukturen.aspx</link>
      <pubDate>Wed, 13 Apr 2005 14:38:07 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;strong&gt;If ... else&lt;/strong&gt;
&lt;/p&gt;
&lt;pre&gt;if (Bedingung) {
    Anweisungen;
} else {
    Anweisungen;
}
&lt;/pre&gt;
&lt;p&gt;
   &lt;strong&gt;If ... else if ... else&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   In JavaScript gibt es im Gegensatz zu anderen Programmiersprachen keine Kontrollstruktur &lt;code&gt;if
   ... elseif ...&lt;/code&gt;. An dessen Stelle kann man zwei &lt;code&gt;if&lt;/code&gt;-Anweisungen
   verwenden, von denen die erste die zweite in ihrem &lt;code&gt;else&lt;/code&gt;-Teil enthält:
&lt;/p&gt;
&lt;pre&gt;if (Bedingung) {
    Anweisungen;
} else
    if (Bedingung) {
        Anweisungen;
    } else {
        Anweisungen;
    }
&lt;/pre&gt;
&lt;p&gt;
   &lt;strong&gt;While-Schleife&lt;/strong&gt;
&lt;/p&gt;
&lt;pre&gt;while (Bedingung) {
    Anweisungen;
}
&lt;/pre&gt;
&lt;p&gt;
   Falls die Bedingung gleich &lt;code&gt;true&lt;/code&gt; oder 1 ist, kann es passieren, dass sich
   der Browser aufhängt, außer wenn irgendwann in der Schleife ein &lt;code&gt;break;&lt;/code&gt; oder
   ein &lt;code&gt;return;&lt;/code&gt; aufgerufen wird.
&lt;/p&gt;
&lt;p&gt;
   &lt;strong&gt;Do ... while&lt;/strong&gt;
&lt;/p&gt;
&lt;pre&gt;do {
    Anweisungen;
} while (Bedingung);&lt;/pre&gt;
&lt;p&gt;
   &lt;!--StartFragment --&gt;For-Schleife
&lt;/p&gt;
&lt;pre&gt;for ([Startausdruck]; [Bedingung]; [Inkrementier-Ausdruck]) {
    Anweisungen;
}
&lt;/pre&gt;
&lt;p&gt;
   &lt;strong&gt;For ... in-Schleife&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   Mit dieser Anweisung werden alle Eigenschaften eines Objektes durchlaufen (oder auch
   alle Elemente eines Feldes).
&lt;/p&gt;
&lt;pre&gt;for (variable in object) {
    Anweisungen;
}
&lt;/pre&gt;
&lt;p&gt;
   &lt;strong&gt;Switch-Ausdruck&lt;/strong&gt;
&lt;/p&gt;
&lt;pre&gt;switch (Ausdruck) {
    case marke1 :
        Anweisungen;
        break;
    case marke2 :
        Anweisungen;
        break;
    default :
        Anweisungen;
}&lt;/pre&gt;
&lt;em&gt;Quelle: &lt;/em&gt;&lt;a href="http://www.wikipedia.org/"&gt;www.wikipedia.org&lt;/a&gt; </description>
      <category>Die Sprache|3 - Kontrollstrukturen</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,ece2dfc4-e117-489a-9cc3-4724be2a550b.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,ece2dfc4-e117-489a-9cc3-4724be2a550b.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      JavaScript kennt mehrere eingebaute Objekte wie z.B. Object, Function, Array, String,
      Boolean, Number, Math, Date und RegExp. Diese werden von ECMAScript definiert. Die
      restlichen Objekte entstanden historisch vor allem durch die Netscape-Spezifikationen
      (<code>window</code>, <code>document</code> usw.) und setzten sich allmählich durch.
      Zahlreiche Unterobjekte von <code>document</code> wurden mittlerweile durch DOM HTML
      standardisiert (<code>title</code>, <code>images</code>, <code>links</code>, <code>forms</code> usw.).
   </p>
        <p>
      Eigenschaften oder Methoden von Objekten werden über folgende Notation angesprochen:
   </p>
        <table>
          <tbody>
            <tr>
              <td>
                <code>objektname.eigenschaftsname</code>
              </td>
            </tr>
            <tr>
              <td>
                <font size="2">bzw.</font>
              </td>
            </tr>
            <tr>
              <td>
                <code>objektname.methodenname()</code>
              </td>
            </tr>
          </tbody>
        </table>
        <p>
      Eine Übersicht der wichtigsten Eigenschaften und Methoden der einzelnen Objekte:
   </p>
        <p>
          <strong>Objekte allgemein</strong>
        </p>
        <p>
      Die Klasse "Object" definiert die gemeinsame Funktionalität aller JavaScript-Objekte.
   </p>
        <p>
      neues Objekt erstellen:
   </p>
        <pre>var obj = new Object();
</pre>
        <p>
      alternativ:
   </p>
        <pre>var obj = {};
</pre>
        <p>
      In JavaScript ist es auch möglich, zur Laufzeit neue Eigenschaften zu einem Objekt
      hinzuzufügen oder zu entfernen. In diesem Beispiel wird "eigenschaftA" mit 1 belegt:
   </p>
        <pre>obj.eigenschaftA = 1;
</pre>
        <p>
      Eine weitere Besonderheit der Javascript-Objekte ist die Fähigkeit, den Wert einer
      Eigenschaft direkt über den Namen zu ermitteln. In diesem Beispiel wird "1" ausgegeben:
   </p>
        <pre>window.alert( obj["eigenschaftA"] );
</pre>
        <p>
      Außerdem ist es möglich, alle Eigenschaften eines Objektes in einer Schleife zu durchlaufen.
      In diesem Beispiel wird "obj.eigenschaftA=1" ausgegeben.
   </p>
        <pre>for (var i in obj) {
    window.alert("obj." + i + "=" + obj[i]);
}</pre>
        <pre>
          <font face="Verdana">
            <strong>Array<!--StartFragment --></strong>
          </font>
        </pre>
        <pre>arrayname = new Array(1,2,3,4,5,6)  // neues Array anlegen
arrayname = [1,2,3,4,5,6]           // neues Array anlegen (Alternative)
arrayname.length                    // Anzahl der Elemente zurückgeben
arrayname.concat(anderesArray)      // zwei Arrays verbinden
arrayname.join(Trennzeichen)        // Array in Zeichenkette umwandeln
arrayname.pop()                     // letztes Element aus Array löschen
arrayname.push(neuerWert)           // ein neues Element an das Ende des Array anhängen
arrayname.reverse()                 // Reihenfolge der Elemente umkehren
</pre>
        <p>
          <!--StartFragment -->
          <strong>String</strong>
        </p>
        <p>
      Ein String-Objekt kann in der Kurzschreibweise <code>"Zeichenkette"</code> oder <code>'Zeichenkette'</code> notiert
      werden. Alternativ kann der <code>String</code>-<a title="Konstruktor" href="http://de.wikipedia.org/wiki/Konstruktor">Konstruktor</a> verwendet
      werden: <code>new String(10)</code> gibt etwa 10 als String wieder.
   </p>
        <pre>teststring = "<i>Hallo</i>" // neuen String anlegen teststring = new String("<i>Hallo</i>")
   // neuen String anlegen (Alternative) teststring.length // Gibt die Länge des Strings
   wieder teststring.toLowerCase() // Gibt den String komplett kleingeschrieben wieder
   teststring.toUpperCase() // Gibt den String komplett großgeschrieben wieder teststring.split(<i>Trennzeichen</i>)
   // Wandelt den String durch ein Trennzeichens // in einen Array mit Teilstrings um
   teststring.indexOf(<i>andererString</i>) // Gibt die Position des ersten Vorkommens
   des // angegebenen Strings wieder. Wird dieser darin // gefunden, so gibt die Methode
   -1 zurück </pre>
        <p>
      , zeigt sich jedoch der feine Unterschied:
   </p>
        <pre>eval("25+25")             // gibt 50 wieder
eval(new String("25+25")) // gibt "25+25" wieder
</pre>
        <p>
          <!--StartFragment -->
          <strong>Date</strong>
        </p>
        <pre>dateobjekt = new Date()   // neues Date-Objekt erzeugen
</pre>
        <p>
          <!--StartFragment -->
          <strong>Math</strong>
        </p>
        <pre>Math.max(<i>zahl1</i>,<i>zahl2</i>) // die größere der beiden Zahlen zurückgeben
   Math.min(<i>zahl1</i>,<i>zahl2</i>) // die kleiner der beiden Zahlen zurückgeben Math.pow(<i>Basiszahl</i>, <i>Exponent</i>)
   // Ergebnis der Exponentialrechnung zurückgeben Math.random() // Eine Zufallszahl
   zwischen 0 und 1 zurückgeben </pre>
        <p>
          <!--StartFragment -->
          <strong>Window Objekt</strong>
        </p>
        <pre>window.resizeTo(<i>neueWeite</i>, <i>neueHoehe</i>) // Fenstergröße einstellen
   window.moveTo(<i>neue x-Position</i>, <i>neue y-Position</i>) // Fensterposition angeben
   window.open("<i>dateiname.htm</i>", "<i>Fenstername</i>") // neues Browserfenster
   öffnen 
   <br /><br /><br /><br /><br /><br />
   Screen Objekt</pre>
        <pre>screen.width   // Bildschirmbreite zurückgeben
screen.height  // Bildschirmhöhe zurückgeben
</pre>
        <p>
          <strong>Screen Objekt</strong>
        </p>
        <pre>screen.width   // Bildschirmbreite zurückgeben
screen.height  // Bildschirmhöhe zurückgeben
</pre>
        <p>
          <strong>Function Objekt</strong>
        </p>
        <pre>var f = function (zahl1, zahl2) {
  return zahl1 + zahl2;
};
</pre>
        <p>
      alternativ:
   </p>
        <pre>f = new Function("zahl1", "zahl2", "return zahl1 + zahl2;");</pre>
        <pre>
          <em>
            <font face="Verdana">Quelle: </font>
          </em>
          <a href="http://www.wikipedia.org/">www.wikipedia.org</a>
        </pre>
      </body>
      <title>Datenstrukturen und Objekte</title>
      <guid>http://www.javascript.de/PermaLink,guid,ece2dfc4-e117-489a-9cc3-4724be2a550b.aspx</guid>
      <link>http://www.javascript.de/DatenstrukturenUndObjekte.aspx</link>
      <pubDate>Wed, 13 Apr 2005 14:33:46 GMT</pubDate>
      <description>&lt;p&gt;
   JavaScript kennt mehrere eingebaute Objekte wie z.B. Object, Function, Array, String,
   Boolean, Number, Math, Date und RegExp. Diese werden von ECMAScript definiert. Die
   restlichen Objekte entstanden historisch vor allem durch die Netscape-Spezifikationen
   (&lt;code&gt;window&lt;/code&gt;, &lt;code&gt;document&lt;/code&gt; usw.) und setzten sich allmählich durch.
   Zahlreiche Unterobjekte von &lt;code&gt;document&lt;/code&gt; wurden mittlerweile durch DOM HTML
   standardisiert (&lt;code&gt;title&lt;/code&gt;, &lt;code&gt;images&lt;/code&gt;, &lt;code&gt;links&lt;/code&gt;, &lt;code&gt;forms&lt;/code&gt; usw.).
&lt;/p&gt;
&lt;p&gt;
   Eigenschaften oder Methoden von Objekten werden über folgende Notation angesprochen:
&lt;/p&gt;
&lt;table&gt;
   &lt;tbody&gt;
      &lt;tr&gt;
         &lt;td&gt;
            &lt;code&gt;objektname.eigenschaftsname&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
         &lt;td&gt;
            &lt;font size=2&gt;bzw.&lt;/font&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
         &lt;td&gt;
            &lt;code&gt;objektname.methodenname()&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
   &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
   Eine Übersicht der wichtigsten Eigenschaften und Methoden der einzelnen Objekte:
&lt;/p&gt;
&lt;p&gt;
   &lt;strong&gt;Objekte allgemein&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   Die Klasse "Object" definiert die gemeinsame Funktionalität aller JavaScript-Objekte.
&lt;/p&gt;
&lt;p&gt;
   neues Objekt erstellen:
&lt;/p&gt;
&lt;pre&gt;var obj = new Object();
&lt;/pre&gt;
&lt;p&gt;
   alternativ:
&lt;/p&gt;
&lt;pre&gt;var obj = {};
&lt;/pre&gt;
&lt;p&gt;
   In JavaScript ist es auch möglich, zur Laufzeit neue Eigenschaften zu einem Objekt
   hinzuzufügen oder zu entfernen. In diesem Beispiel wird "eigenschaftA" mit 1 belegt:
&lt;/p&gt;
&lt;pre&gt;obj.eigenschaftA = 1;
&lt;/pre&gt;
&lt;p&gt;
   Eine weitere Besonderheit der Javascript-Objekte ist die Fähigkeit, den Wert einer
   Eigenschaft direkt über den Namen zu ermitteln. In diesem Beispiel wird "1" ausgegeben:
&lt;/p&gt;
&lt;pre&gt;window.alert( obj["eigenschaftA"] );
&lt;/pre&gt;
&lt;p&gt;
   Außerdem ist es möglich, alle Eigenschaften eines Objektes in einer Schleife zu durchlaufen.
   In diesem Beispiel wird "obj.eigenschaftA=1" ausgegeben.
&lt;/p&gt;
&lt;pre&gt;for (var i in obj) {
    window.alert("obj." + i + "=" + obj[i]);
}&lt;/pre&gt;
&lt;pre&gt;&lt;font face=Verdana&gt;&lt;strong&gt;Array&lt;!--StartFragment --&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre&gt;arrayname = new Array(1,2,3,4,5,6)  // neues Array anlegen
arrayname = [1,2,3,4,5,6]           // neues Array anlegen (Alternative)
arrayname.length                    // Anzahl der Elemente zurückgeben
arrayname.concat(anderesArray)      // zwei Arrays verbinden
arrayname.join(Trennzeichen)        // Array in Zeichenkette umwandeln
arrayname.pop()                     // letztes Element aus Array löschen
arrayname.push(neuerWert)           // ein neues Element an das Ende des Array anhängen
arrayname.reverse()                 // Reihenfolge der Elemente umkehren
&lt;/pre&gt;
&lt;p&gt;
   &lt;!--StartFragment --&gt;&lt;strong&gt;String&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   Ein String-Objekt kann in der Kurzschreibweise &lt;code&gt;"Zeichenkette"&lt;/code&gt; oder &lt;code&gt;'Zeichenkette'&lt;/code&gt; notiert
   werden. Alternativ kann der &lt;code&gt;String&lt;/code&gt;-&lt;a title=Konstruktor href="http://de.wikipedia.org/wiki/Konstruktor"&gt;Konstruktor&lt;/a&gt; verwendet
   werden: &lt;code&gt;new String(10)&lt;/code&gt; gibt etwa 10 als String wieder.
&lt;/p&gt;
&lt;pre&gt;teststring = "&lt;i&gt;Hallo&lt;/i&gt;" // neuen String anlegen teststring = new String("&lt;i&gt;Hallo&lt;/i&gt;")
// neuen String anlegen (Alternative) teststring.length // Gibt die Länge des Strings
wieder teststring.toLowerCase() // Gibt den String komplett kleingeschrieben wieder
teststring.toUpperCase() // Gibt den String komplett großgeschrieben wieder teststring.split(&lt;i&gt;Trennzeichen&lt;/i&gt;)
// Wandelt den String durch ein Trennzeichens // in einen Array mit Teilstrings um
teststring.indexOf(&lt;i&gt;andererString&lt;/i&gt;) // Gibt die Position des ersten Vorkommens
des // angegebenen Strings wieder. Wird dieser darin // gefunden, so gibt die Methode
-1 zurück &lt;/pre&gt;
&lt;p&gt;
   , zeigt sich jedoch der feine Unterschied:
&lt;/p&gt;
&lt;pre&gt;eval("25+25")             // gibt 50 wieder
eval(new String("25+25")) // gibt "25+25" wieder
&lt;/pre&gt;
&lt;p&gt;
   &lt;!--StartFragment --&gt;&lt;strong&gt;Date&lt;/strong&gt;
&lt;/p&gt;
&lt;pre&gt;dateobjekt = new Date()   // neues Date-Objekt erzeugen
&lt;/pre&gt;
&lt;p&gt;
   &lt;!--StartFragment --&gt;&lt;strong&gt;Math&lt;/strong&gt;
&lt;/p&gt;
&lt;pre&gt;Math.max(&lt;i&gt;zahl1&lt;/i&gt;,&lt;i&gt;zahl2&lt;/i&gt;) // die größere der beiden Zahlen zurückgeben
Math.min(&lt;i&gt;zahl1&lt;/i&gt;,&lt;i&gt;zahl2&lt;/i&gt;) // die kleiner der beiden Zahlen zurückgeben Math.pow(&lt;i&gt;Basiszahl&lt;/i&gt;, &lt;i&gt;Exponent&lt;/i&gt;)
// Ergebnis der Exponentialrechnung zurückgeben Math.random() // Eine Zufallszahl
zwischen 0 und 1 zurückgeben &lt;/pre&gt;
&lt;p&gt;
   &lt;!--StartFragment --&gt;&lt;strong&gt;Window Objekt&lt;/strong&gt;
&lt;/p&gt;
&lt;pre&gt;window.resizeTo(&lt;i&gt;neueWeite&lt;/i&gt;, &lt;i&gt;neueHoehe&lt;/i&gt;) // Fenstergröße einstellen
window.moveTo(&lt;i&gt;neue x-Position&lt;/i&gt;, &lt;i&gt;neue y-Position&lt;/i&gt;) // Fensterposition angeben
window.open("&lt;i&gt;dateiname.htm&lt;/i&gt;", "&lt;i&gt;Fenstername&lt;/i&gt;") // neues Browserfenster
öffnen 
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Screen Objekt&lt;/pre&gt;
&lt;pre&gt;screen.width   // Bildschirmbreite zurückgeben
screen.height  // Bildschirmhöhe zurückgeben
&lt;/pre&gt;
&lt;p&gt;
   &lt;strong&gt;Screen Objekt&lt;/strong&gt;
&lt;/p&gt;
&lt;pre&gt;screen.width   // Bildschirmbreite zurückgeben
screen.height  // Bildschirmhöhe zurückgeben
&lt;/pre&gt;
&lt;p&gt;
   &lt;strong&gt;Function Objekt&lt;/strong&gt;
&lt;/p&gt;
&lt;pre&gt;var f = function (zahl1, zahl2) {
  return zahl1 + zahl2;
};
&lt;/pre&gt;
&lt;p&gt;
   alternativ:
&lt;/p&gt;
&lt;pre&gt;f = new Function("zahl1", "zahl2", "return zahl1 + zahl2;");&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&lt;font face=Verdana&gt;Quelle: &lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.wikipedia.org/"&gt;www.wikipedia.org&lt;/a&gt; &lt;/pre&gt;</description>
      <category>Die Sprache|2 - Datenstrukturen und Objekte</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,146a5e8f-e653-4989-8db0-e20c35798c3f.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,146a5e8f-e653-4989-8db0-e20c35798c3f.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <b>18. September 1995</b>: Mit der Vorversion des Navigator 2.0 veröffentlicht Netscape
      einen Browser mit einer eingebetteten Skriptsprache. Sie heißt zu diesem Zeitpunkt
      entsprechend dem Produktportfolio <i>LiveScript</i>. Brendan Eich entwickelte die
      Sprache.
   </p>
        <p>
          <b>4. Dezember 1995</b>: Netscape und Sun benennen die Sprache <i>JavaScript</i>,
      um mit dem Namen näher an <i>Java</i> heranzurücken.
   </p>
        <p>
          <b>5. März 1996</b>: Mit dem Enterprise Server 2.0 von Netscape erscheint der erste
      Server, der JavaScript-Fähigkeiten besitzt. Die JavaScript-Variante unterscheidet
      sich zwangsläufig von der clientseitigen Variante.
   </p>
        <p>
          <b>29. April 1996</b>: Mit der ersten Betaversion des Navigator 3.0 führt Netscape
      JavaScript 1.1 ein.
   </p>
        <p>
          <b>Mai 1996</b>: Microsoft stellt mit der Betaversion des Internet Explorers 3 ihren
      ersten JavaScript-fähigen Browser vor. Die Skriptsprache heißt allerdings aus rechtlichen
      Gründen <i>JScript</i> und entspricht nur in etwa dem Stand vom Netscape Navigator
      2. <i>JScript</i> schlägt einen eigenen Weg der Entwicklung ein, bleibt aber im wesentlich
      kompatibel zu JavaScript.
   </p>
        <p>
          <b>15. November 1996</b>: Netscape und die ECMA bekunden eine standardisierte Form
      von JavaScript entwickeln zu wollen.
   </p>
        <p>
          <b>15. Oktober 1996</b>: Mit der Ankündigung des Netscape Communicators (mit dem Navigator
      4.0) kommt JavaScript 1.2.
   </p>
        <p>
          <b>4. Juni 1997</b>: Der Netscape Communicator und damit der Navigator 4.0 mit JavaScript
      1.2 erscheint.
   </p>
        <p>
          <b>Juni 1997</b>: Die ECMA veröffentlicht ihren Standard ECMA-262: <i>ECMAScript</i>.
      Er wurde zusammen mit Netscape entwickelt.
   </p>
        <p>
          <b>1. Oktober 1997</b>: Microsoft gibt den Internet Explorer 4 heraus, der den Sprachumfang
      von JavaScript 1.1 abdeckt. Darüber hinaus werden eigene Erweiterungen veröffentlicht,
      die zu Kompatibilitätsproblemen zwischen Navigator und Internet Explorer führen.
   </p>
        <p>
          <b>23. Februar 1998</b>: Mozilla wird mit der Freigabe des Quelltexts vom Navigator
      auf den Weg gebracht.
   </p>
        <p>
          <b>April 1998</b>: ECMAScript ist nun ISO-Norm: ISO/IEC 16262:1998 Information technology
      - ECMAScript language specification.
   </p>
        <p>
          <b>Juli 1998</b>: Eine Betaversion des Netscape Communicators 4.5 wird veröffentlicht.
      JavaScript trägt nun die Version 1.3. Erstmals zu finden war diese JavaScript-Version
      schon in der Version 4.06 des Netscape Communicators.
   </p>
        <p>
          <b>Oktober 1998</b>: Von Netscape wird JavaScript 1.4 vorgestellt. Diese Version ist
      vollständig kompatibel mit ECMA-262. Ein Browser mit der Unterstützung dieser Version
      erscheint jedoch nicht.
   </p>
        <p>
          <b>April 2000</b>: Netscape gibt die Preview Release 1 vom Navigator 6 heraus, welcher
      auf dem in der Entwicklung befindlichen Browser Mozilla in der Version 0.6 beruht.
      Diese Version implementiert erstmals JavaScript 1.5.
   </p>
        <p>
          <b>5. Juni 2002</b>: Mozilla 1.0 erscheint mit JavaScript 1.5.
   </p>
        <p>
          <em>Quelle: </em>
          <a href="http://www.wikipedia.org/">
            <em>www.wikipedia.org</em>
          </a>
        </p>
      </body>
      <title>Geschichte</title>
      <guid>http://www.javascript.de/PermaLink,guid,146a5e8f-e653-4989-8db0-e20c35798c3f.aspx</guid>
      <link>http://www.javascript.de/Geschichte.aspx</link>
      <pubDate>Wed, 13 Apr 2005 14:27:39 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;b&gt;18. September 1995&lt;/b&gt;: Mit der Vorversion des Navigator 2.0 veröffentlicht Netscape
   einen Browser mit einer eingebetteten Skriptsprache. Sie heißt zu diesem Zeitpunkt
   entsprechend dem Produktportfolio &lt;i&gt;LiveScript&lt;/i&gt;. Brendan Eich entwickelte die
   Sprache.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;4. Dezember 1995&lt;/b&gt;: Netscape und Sun benennen die Sprache &lt;i&gt;JavaScript&lt;/i&gt;,
   um mit dem Namen näher an &lt;i&gt;Java&lt;/i&gt; heranzurücken.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;5. März 1996&lt;/b&gt;: Mit dem Enterprise Server 2.0 von Netscape erscheint der erste
   Server, der JavaScript-Fähigkeiten besitzt. Die JavaScript-Variante unterscheidet
   sich zwangsläufig von der clientseitigen Variante.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;29. April 1996&lt;/b&gt;: Mit der ersten Betaversion des Navigator 3.0 führt Netscape
   JavaScript 1.1 ein.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;Mai 1996&lt;/b&gt;: Microsoft stellt mit der Betaversion des Internet Explorers 3 ihren
   ersten JavaScript-fähigen Browser vor. Die Skriptsprache heißt allerdings aus rechtlichen
   Gründen &lt;i&gt;JScript&lt;/i&gt; und entspricht nur in etwa dem Stand vom Netscape Navigator
   2. &lt;i&gt;JScript&lt;/i&gt; schlägt einen eigenen Weg der Entwicklung ein, bleibt aber im wesentlich
   kompatibel zu JavaScript.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;15. November 1996&lt;/b&gt;: Netscape und die ECMA bekunden eine standardisierte Form
   von JavaScript entwickeln zu wollen.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;15. Oktober 1996&lt;/b&gt;: Mit der Ankündigung des Netscape Communicators (mit dem Navigator
   4.0) kommt JavaScript 1.2.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;4. Juni 1997&lt;/b&gt;: Der Netscape Communicator und damit der Navigator 4.0 mit JavaScript
   1.2 erscheint.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;Juni 1997&lt;/b&gt;: Die ECMA veröffentlicht ihren Standard ECMA-262: &lt;i&gt;ECMAScript&lt;/i&gt;.
   Er wurde zusammen mit Netscape entwickelt.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;1. Oktober 1997&lt;/b&gt;: Microsoft gibt den Internet Explorer 4 heraus, der den Sprachumfang
   von JavaScript 1.1 abdeckt. Darüber hinaus werden eigene Erweiterungen veröffentlicht,
   die zu Kompatibilitätsproblemen zwischen Navigator und Internet Explorer führen.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;23. Februar 1998&lt;/b&gt;: Mozilla wird mit der Freigabe des Quelltexts vom Navigator
   auf den Weg gebracht.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;April 1998&lt;/b&gt;: ECMAScript ist nun ISO-Norm: ISO/IEC 16262:1998 Information technology
   - ECMAScript language specification.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;Juli 1998&lt;/b&gt;: Eine Betaversion des Netscape Communicators 4.5 wird veröffentlicht.
   JavaScript trägt nun die Version 1.3. Erstmals zu finden war diese JavaScript-Version
   schon in der Version 4.06 des Netscape Communicators.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;Oktober 1998&lt;/b&gt;: Von Netscape wird JavaScript 1.4 vorgestellt. Diese Version ist
   vollständig kompatibel mit ECMA-262. Ein Browser mit der Unterstützung dieser Version
   erscheint jedoch nicht.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;April 2000&lt;/b&gt;: Netscape gibt die Preview Release 1 vom Navigator 6 heraus, welcher
   auf dem in der Entwicklung befindlichen Browser Mozilla in der Version 0.6 beruht.
   Diese Version implementiert erstmals JavaScript 1.5.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;5. Juni 2002&lt;/b&gt;: Mozilla 1.0 erscheint mit JavaScript 1.5.
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;Quelle: &lt;/em&gt;&lt;a href="http://www.wikipedia.org/"&gt;&lt;em&gt;www.wikipedia.org&lt;/em&gt;&lt;/a&gt; 
&lt;/p&gt;</description>
      <category>Die Sprache|1 - Geschichte</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,85c53399-ea15-477e-8f52-e8fabbfc8cf7.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,85c53399-ea15-477e-8f52-e8fabbfc8cf7.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      JavaScript ist eine objektbasierte Skriptsprache, die von der Firma Netscape entwickelt
      wurde, um statische HTML-Seiten dynamisch zu gestalten. Im Gegensatz zu serverseitigen
      Scriptsprachen wie zum Beispiel Perl oder PHP wird JavaScript auf dem Client ausgeführt.
      (Netscape nutzte JavaScript mit einem im Kern identischen Syntax allerdings auch serverseitig.)
      Mittels einer Schnittstelle zum Document Object Model (DOM) können Elemente der Webseite
      manipuliert werden, nachdem diese zum Client übertragen wurde.
   </p>
        <p>
      Die Grundlagen von JavaScript wurden unter dem Namen ECMAScript unter ECMA-262 standardisiert.
      Die Syntax der Sprache ähnelt der der Programmiersprache Java und auch einige Schlüsselwörter
      beider Sprachen sind identisch. Semantisch jedoch unterscheiden sich beide Sprachen
      deutlich. Interessant ist die Tatsache, dass JavaScript im Gegensatz zu klassisch
      objektorientierten Sprachen keine Klassen einsetzt, sondern statt dessen Objekte als
      Prototypen einsetzt. Mittlerweile wurden auf dieser Basis zusätzlich normale Klassen
      implementiert, wohl in der Annahme, damit den Einstieg zu erleichtern.
   </p>
        <p>
      JavaScript vereinheitlicht die aus anderen Sprachen bekannten Funktionen und Objekte
      zu einem einheitlichen Konzept. Die Sprache verfügt über integrierte Regular Expressions.
      Mit ECMAScript für XML (E4X, ECMA-357) wird auch XML als nativer Datentyp unterstützt.
   </p>
        <p>
      Trotz des ähnlichen Namens ist JavaScript nicht mit der Programmiersprache Java zu
      verwechseln. Die Namensgleichheit entstand – ähnlich wie beim Java Enterprise System
      – aus Marketinggründen.
   </p>
        <p>
      Rhino ist eine JavaScript-Implementierung, die als Open-Source-Projekt in Java geschrieben
      ist.
   </p>
        <p>
          <em>Quelle: </em>
          <a href="http://www.wikipedia.org">
            <em>www.wikipedia.org</em>
          </a>
          <em>
          </em>
        </p>
      </body>
      <title>Die Sprache</title>
      <guid>http://www.javascript.de/PermaLink,guid,85c53399-ea15-477e-8f52-e8fabbfc8cf7.aspx</guid>
      <link>http://www.javascript.de/DieSprache.aspx</link>
      <pubDate>Wed, 13 Apr 2005 14:26:39 GMT</pubDate>
      <description>&lt;p&gt;
   JavaScript ist eine objektbasierte Skriptsprache, die von der Firma Netscape entwickelt
   wurde, um statische HTML-Seiten dynamisch zu gestalten. Im Gegensatz zu serverseitigen
   Scriptsprachen wie zum Beispiel Perl oder PHP wird JavaScript auf dem Client ausgeführt.
   (Netscape nutzte JavaScript mit einem im Kern identischen Syntax allerdings auch serverseitig.)
   Mittels einer Schnittstelle zum Document Object Model (DOM) können Elemente der Webseite
   manipuliert werden, nachdem diese zum Client übertragen wurde.
&lt;/p&gt;
&lt;p&gt;
   Die Grundlagen von JavaScript wurden unter dem Namen ECMAScript unter ECMA-262 standardisiert.
   Die Syntax der Sprache ähnelt der der Programmiersprache Java und auch einige Schlüsselwörter
   beider Sprachen sind identisch. Semantisch jedoch unterscheiden sich beide Sprachen
   deutlich. Interessant ist die Tatsache, dass JavaScript im Gegensatz zu klassisch
   objektorientierten Sprachen keine Klassen einsetzt, sondern statt dessen Objekte als
   Prototypen einsetzt. Mittlerweile wurden auf dieser Basis zusätzlich normale Klassen
   implementiert, wohl in der Annahme, damit den Einstieg zu erleichtern.
&lt;/p&gt;
&lt;p&gt;
   JavaScript vereinheitlicht die aus anderen Sprachen bekannten Funktionen und Objekte
   zu einem einheitlichen Konzept. Die Sprache verfügt über integrierte Regular Expressions.
   Mit ECMAScript für XML (E4X, ECMA-357) wird auch XML als nativer Datentyp unterstützt.
&lt;/p&gt;
&lt;p&gt;
   Trotz des ähnlichen Namens ist JavaScript nicht mit der Programmiersprache Java zu
   verwechseln. Die Namensgleichheit entstand – ähnlich wie beim Java Enterprise System
   – aus Marketinggründen.
&lt;/p&gt;
&lt;p&gt;
   Rhino ist eine JavaScript-Implementierung, die als Open-Source-Projekt in Java geschrieben
   ist.
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;Quelle: &lt;/em&gt;&lt;a href="http://www.wikipedia.org"&gt;&lt;em&gt;www.wikipedia.org&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;
&lt;/p&gt;</description>
      <category>Die Sprache</category>
    </item>
    <item>
      <trackback:ping>http://www.javascript.de/Trackback,guid,07d94972-e664-44e2-8e8a-9b94f7aaede1.aspx</trackback:ping>
      <pingback:server>http://www.javascript.de/pingback.aspx</pingback:server>
      <pingback:target>http://www.javascript.de/PermaLink,guid,07d94972-e664-44e2-8e8a-9b94f7aaede1.aspx</pingback:target>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      PULSAR interactive media GmbH<br />
      Forsterstr. 100<br />
      D-90441 Nürnberg<br /><br />
      Telefon: +49 (0)911 416 000 70<br />
      Telefax: +49 (0)911 42 20 78
   </p>
        <p>
      E-Mail: <a href="mailto:info@pim.de" target="">info@pim.de<br /></a>Internet: <a href="http://www.pim.de/" target="_new">www.pim.de</a><br /></p>
        <p>
      Vertretungsberechtigter Geschäftsführer:<br />
      Jörg Lucinski
   </p>
        <p>
      Registergericht: Amtsgericht Nürnberg<br />
      Registernummer: HRB 14793
   </p>
        <p>
      Umsatzsteuer-Identifikationsnummer gemäß<br />
      § 27 a Umsatzsteuergesetz: DE 187730877
   </p>
        <p>
      Inhaltlich Verantwortlicher gemäß § 6 MDStV:<br />
      Jörg Lucinski.
   </p>
      </body>
      <title>Impressum</title>
      <guid>http://www.javascript.de/PermaLink,guid,07d94972-e664-44e2-8e8a-9b94f7aaede1.aspx</guid>
      <link>http://www.javascript.de/Impressum.aspx</link>
      <pubDate>Wed, 13 Apr 2005 14:15:01 GMT</pubDate>
      <description>&lt;p&gt;
   PULSAR interactive media GmbH&lt;br&gt;
   Forsterstr. 100&lt;br&gt;
   D-90441 Nürnberg&lt;br&gt;
   &lt;br&gt;
   Telefon: +49 (0)911 416 000 70&lt;br&gt;
   Telefax: +49 (0)911 42 20 78
&lt;/p&gt;
&lt;p&gt;
   E-Mail: &lt;a href="mailto:info@pim.de" target=""&gt;info@pim.de&lt;br&gt;
   &lt;/a&gt;Internet: &lt;a href="http://www.pim.de/" target=_new&gt;www.pim.de&lt;/a&gt;
   &lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
   Vertretungsberechtigter Geschäftsführer:&lt;br&gt;
   Jörg Lucinski
&lt;/p&gt;
&lt;p&gt;
   Registergericht: Amtsgericht Nürnberg&lt;br&gt;
   Registernummer: HRB 14793
&lt;/p&gt;
&lt;p&gt;
   Umsatzsteuer-Identifikationsnummer gemäß&lt;br&gt;
   § 27 a Umsatzsteuergesetz: DE 187730877
&lt;/p&gt;
&lt;p&gt;
   Inhaltlich Verantwortlicher gemäß § 6 MDStV:&lt;br&gt;
   Jörg Lucinski.
&lt;/p&gt;</description>
      <category>_ Impressum</category>
    </item>
  </channel>
</rss>