patrick123: Anfänger Übung Javascript

Hallo, ich versuche mich gerade an einem kleinen Programm zur Begrüßung eines Nutzers, zweck dahinter ist, meine Anfänger Skills in JS zu verbessern. Ich denke es ist eine gute Einstiegsaufgabe für Anfänger, ich weiss, dass es mehrere Lösungswege gibt, deswegen würde ich gerne wissen, wo die Fehler speziell bei meinen Lösungsansatz liegen.

Hier die Aufgabenstellung:
Schreiben Sie eine HTML-Seite, die den Besucher der Seite beim Laden nach seinem Vornamen fragt und in Erfahrung bringt, ob er mit "Du" oder "Sie" angesprochen werden möchte. Anschließend erscheint ein kurzer Begrüßungstext, der den Namen des Besuchers hervorgehoben (fett) enthält und ihn korrekt mit "Du" oder "Sie" anredet. Zur Hervorhebung des Namens schreiben Sie bitte eine Funktion, die einen beliebigen Text, der als Parameter übergeben wird, in die HTML-Tags <strong> und </strong> einschließt.

Hier mein Code:~~~javascript <pre>
<script type="text/javascript">

window.onload = function() {
name = prompt("Was ist Ihr Vorname");
anrede = prompt("Möchten Sie mit "Du" oder "Sie" angesprochen werden?");
alert("Ok Sie haben die Anrede ",anrede," ausgewählt")
prompt("Ihr name ist ",name," ist dies sofern richtig?");
alert("Hallo <strong>",name,"</strong> ich freue mich ",anrede," dich hier begrüßen zu dürfen");
}

document.writeln();
</script>
</pre>

  
DANKE  
Quelle:http://javascript-workshop.de/buch/02.html
  1. hi patrick123,

    Hallo, ich versuche mich gerade an einem kleinen Programm zur Begrüßung eines Nutzers, zweck dahinter ist, meine Anfänger Skills in JS zu verbessern. Ich denke es ist eine gute Einstiegsaufgabe für Anfänger, ich weiss, dass es mehrere Lösungswege gibt, deswegen würde ich gerne wissen, wo die Fehler speziell bei meinen Lösungsansatz liegen.

    Hier die Aufgabenstellung:
    Schreiben Sie eine HTML-Seite, die den Besucher der Seite beim Laden nach seinem Vornamen fragt und in Erfahrung bringt, ob er mit "Du" oder "Sie" angesprochen werden möchte. Anschließend erscheint ein kurzer Begrüßungstext, der den Namen des Besuchers hervorgehoben (fett) enthält und ihn korrekt mit "Du" oder "Sie" anredet. Zur Hervorhebung des Namens schreiben Sie bitte eine Funktion, die einen beliebigen Text, der als Parameter übergeben wird, in die HTML-Tags <strong> und </strong> einschließt.

    Hier mein Code:~~~javascript

    <pre>

    <script type="text/javascript">

    window.onload = function() {
    name = prompt("Was ist Ihr Vorname");
    anrede = prompt("Möchten Sie mit "Du" oder "Sie" angesprochen werden?");
    alert("Ok Sie haben die Anrede ",anrede," ausgewählt")
    prompt("Ihr name ist ",name," ist dies sofern richtig?");
    alert("Hallo <strong>",name,"</strong> ich freue mich ",anrede," dich hier begrüßen zu dürfen");
    }

    document.writeln();
    </script>
    </pre>

    
    >   
    > DANKE  
    > Quelle:http://javascript-workshop.de/buch/02.html  
      
    <http://javascript-workshop.de/buch/02.html>  
      
    die Lösungen stehen doch unten drin ... ???  
      
    mfg  
      
    tami
    
    1. die Lösungen stehen doch unten drin ... ???

      mfg

      tami

      Zitat:"ich weiss, dass es mehrere Lösungswege gibt, deswegen würde ich gerne wissen, wo die Fehler speziell bei meinen Lösungsansatz liegen."

      1. hi patrick123,

        die Lösungen stehen doch unten drin ... ???

        mfg

        tami

        Zitat:"ich weiss, dass es mehrere Lösungswege gibt, deswegen würde ich gerne wissen, wo die Fehler speziell bei meinen Lösungsansatz liegen."

        dazu solltest du dein ding mal in einzelne aufgaben/bausteine zerlegen. und auch das tutorial richtig lesen.

        mfg

        tami

  2. Beim drüberschauen entdecke ich zwei Dinge. Ich bin mir nicht sicher ob <strong> in einer alert Box richtig interpretiert wird. Außerdem ist "ich freue mich Du dich hier begrüßen zu dürfen" ein seltsamer Satz :-)
    Aber das siehst du ja schnell selbst.

    Es ist ein recht praxisfremdes Beispiel. Zum ersten ausprobieren der Funktionen ist es schon ok aber einsatztauglich ists nicht. Wer hat schon sowas auf seiner Seite?
    Welche Fehler meinst du überhaupt?

    1. Strings mit Komma aneinanderhängen halte ich auch für sehr abenteuerlich.

      1. Strings mit Komma aneinanderhängen halte ich auch für sehr abenteuerlich.

        Hab das so aus dem TUT genommen:

         for (var i=0; i<10; i=i+1)  
         {  
            document.writeln("Quadrat von ",i," ist: ",i*i);  
         }
        

        Ist wahrscheinlich schon etwas veraltet dieses TUT, wie macht man es denn heute mit '' ?

        Danke
        Patrick

        1. hi patrick123,

          Strings mit Komma aneinanderhängen halte ich auch für sehr abenteuerlich.

          Hab das so aus dem TUT genommen:

          for (var i=0; i<10; i=i+1)

          {
              document.writeln("Quadrat von ",i," ist: ",i*i);
          }

          
          >   
          > Ist wahrscheinlich schon etwas veraltet dieses TUT, wie macht man es denn heute mit '' ?  
            
          Nee, du musst dann schon was reinschreiben, sonst kommt da ja nix. Und die Fehlerkonsole von FF beachten:  
            
          <pre>  
          <script type="text/javascript">  
            
          window.onload = function() {  
                  name = prompt("Was ist Ihr Vorname");  
                  anrede = prompt("Möchten Sie mit Du oder Sie angesprochen werden?");  
                  alert("Ok Sie haben die Anrede "+ anrede + " ausgewählt")  
                  prompt("Ihr name ist " + name + " ist dies sofern richtig?");  
                  alert("Hallo <strong>" + name+ "</strong> ich freue mich " + anrede + " dich hier begrüßen zu dürfen");  
          }  
            
          document.writeln();  
          </script>  
          </pre>  
            
          Und das Tutorial genauer lesen. Und in kleinen Schritten arbeiten.  
          mfg  
            
          tami
          
          1. hi patrick123,

            Strings mit Komma aneinanderhängen halte ich auch für sehr abenteuerlich.

            Hab das so aus dem TUT genommen:

            for (var i=0; i<10; i=i+1)

            {
                document.writeln("Quadrat von ",i," ist: ",i*i);
            }

            
            > >   
            > > Ist wahrscheinlich schon etwas veraltet dieses TUT, wie macht man es denn heute mit '' ?  
            >   
            > Nee, du musst dann schon was reinschreiben, sonst kommt da ja nix. Und die Fehlerkonsole von FF beachten:  
            >   
            > <pre>  
            > <script type="text/javascript">  
            >   
            > window.onload = function() {  
            >         name = prompt("Was ist Ihr Vorname");  
            >         anrede = prompt("Möchten Sie mit Du oder Sie angesprochen werden?");  
            >         alert("Ok Sie haben die Anrede "+ anrede + " ausgewählt")  
            >         prompt("Ihr name ist " + name + " ist dies sofern richtig?");  
            >         alert("Hallo <strong>" + name+ "</strong> ich freue mich " + anrede + " dich hier begrüßen zu dürfen");  
            > }  
            >   
            > document.writeln();  
            > </script>  
            > </pre>  
            >   
            > Und das Tutorial genauer lesen. Und in kleinen Schritten arbeiten.  
            > mfg  
            >   
            > tami  
              
            Jaaa.. sauuu cool, danke Tami :D  
            Ich lese schon seit Anfang der Woche, immer wieder das selbe und selbe über die ersten Schritte...  
            Wollte einfach mal praktisch was machen und schauen was dabei rauskommt, bin dann eher der Praktiker, deswegen auch bald an eine FH studieren. :D  
              
            Ok.. die Nützlichkeit dieses Programms brauch man nicht hinterfragen, aber es ist ein Erfolgserlebnis, dies war mir wichtig!  
              
            DANKE  
            Patrick
            
            1. hi patrick123,

              Jaaa.. sauuu cool, danke Tami :D
              Ich lese schon seit Anfang der Woche, immer wieder das selbe und selbe über die ersten Schritte...
              Wollte einfach mal praktisch was machen und schauen was dabei rauskommt, bin dann eher der Praktiker, deswegen auch bald an eine FH studieren. :D

              Du musst die Fehlerkonsole vom Firefox oder eine andere haben, sonst kannst Du Javascript nicht debuggen.

              Dass Du in Anführungszeichen nicht einfach nochmal welche einbauen kannst, ist das kleine 1x1. Egal, welches Tutorial. Ebenso, wie man strings miteinander verbindet. Auch, dass in document.writeln("...blubla..."); was stehen muss, nämlich der HTML-Code, der da als Zeile geschrieben wird, ist kleines 1x1. Lies genau und mach immer nur einen Schritt (mit Fehlerkonsole!).

              Ok.. die Nützlichkeit dieses Programms brauch man nicht hinterfragen, aber es ist ein Erfolgserlebnis, dies war mir wichtig!

              Für o.g. langts alle mal.

              mfg

              tami

    2. Beim drüberschauen entdecke ich zwei Dinge. Ich bin mir nicht sicher ob <strong> in einer alert Box richtig interpretiert wird. Außerdem ist "ich freue mich Du dich hier begrüßen zu dürfen" ein seltsamer Satz :-)
      Aber das siehst du ja schnell selbst.

      Es ist ein recht praxisfremdes Beispiel. Zum ersten ausprobieren der Funktionen ist es schon ok aber einsatztauglich ists nicht. Wer hat schon sowas auf seiner Seite?
      Welche Fehler meinst du überhaupt?

      Ja Rechtschreibung mal außen vor, sry :D..
      Es geht auch nicht um den Nutzen solch eines Programms, sondern mir gehts mehr um den Lerneffekt.
      Ja weiss nicht, ich kann das Programm nicht im Browser ausführen, der Browser sagt("Kein JavaScript auf dieser Seite

      Falls <script> Tags ein 'type'-Attribut besitzen, sollte es 'text/javascript' oder 'application/javascript' entsprechen. Zudem müssen Skripts geparst werden können (syntaktisch korrekt sein)." :D

      Vielleicht kannst du mir sonst eine bessere Src geben um sich JS anzueignen ?

      DANKE
      Patrick

      1. Mahlzeit,

        Ja weiss nicht, ich kann das Programm nicht im Browser ausführen, der Browser sagt("Kein JavaScript auf dieser Seite

        Ähm ..... ist das dein kompletter Code, den du oben gepostet hast? Dann versteh ich das, da fehlt ja der Rest vom HTML

        --
        42
        1. Mahlzeit,

          Ja weiss nicht, ich kann das Programm nicht im Browser ausführen, der Browser sagt("Kein JavaScript auf dieser Seite

          Ähm ..... ist das dein kompletter Code, den du oben gepostet hast? Dann versteh ich das, da fehlt ja der Rest vom HTML

          Ja.. ist schlampig, aber der Code wird trotzdem ausgeführt (sofern richtig), habe das mit 2 kleinen Schleifen hinbekommen.

  3. Mahlzeit,

    deswegen würde ich gerne wissen, wo die Fehler speziell bei meinen Lösungsansatz liegen.

    Na wenn du uns mal erzählen würdest, was genau nicht funktioniert.

    --
    42
  4. Mahlzeit,

    Copyright 2000-2004 Christine Kühnel & Stefan Mintert.

    Das steht unten auf der Seite. Dürfte also nicht mehr ganz so aktuell sein ;)
    Das zugehörige Buch ist von 2000.

    http://www.html-seminar.de/javascript.htm ist aktueller und hilft dir vermutlich mehr ;)

    --
    42
  5. @@patrick123:

    nuqneH

    <pre>

    Wozu das?

    name = prompt("Was ist Ihr Vorname");

    <http://de.selfhtml.org/javascript/sprache/variablen.htm@title=Globale Variablen> sind grundsätzlich schlecht.

    anrede = prompt("Möchten Sie mit "Du" oder "Sie" angesprochen werden?");

    Wenn dir der Fehler durchs Syntax-Highlighting (du verwendest doch einen Editor mit, oder?) nicht auffällt, sollte dich aber der Blick in die Fehlerkonsole deines Browsers drauf stoßen.

    Protip: Verwende in natürlichsprachigem Text niemals ", sondern richtige Anfährungszeichen. Für Deutsch „“, für Englisch “”.

    alert("Ok Sie haben die Anrede ",anrede," ausgewählt")

    [ref:self812;javascript/objekte/window.htm#alert@title=alert()] erwartet ein Argument, nicht drei.

    Anweisungen solltest du in JavaScript immer mit Semikolon abschließen.

    Neben dem Semikolon fehlt noch ein Komma im Text.

    Und nachdem du nach Du/Sie gefragt hast, siezt du den Nutzer weiterhin? „Sie haben die Anrede Du ausgewählt“?

    prompt("Ihr name ist ",name," ist dies sofern richtig?");

    Nein. Substantive schreibt man groß. Und Satzanfänge auch.

    alert("Hallo <strong>",name,"</strong> ich freue mich ",anrede," dich hier begrüßen zu dürfen");

    alert() kann Strings ausgeben, aber nicht formatiert. Markup kannst du darin nicht verwenden.

    document.writeln();

    Und was soll das?

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. Hello Gunnar,

      Protip: Verwende in natürlichsprachigem Text niemals ", sondern richtige Anfährungszeichen. Für Deutsch „“, für Englisch “”.

      Es gibt da noch viel mehr Zeichen, die man gerne mal einsetzen würde während des Schreibens. Aber sie liegen eben nicht mal schnell auf der Tastatur. Gib doch mal einen guten Tipp, wie man in der Praxis schnell an diese Zeichen heran kommt.

      Die müssen dann ja auch unabhängig vom Font zur Verfügung stehen, zumindest in den 100 gebräuchlichsten von Arial über Mickey-Mouse und Loki-Cola bis hin zu Sütterlin (man muss vorbereitet sein, damit man mitlesen kann).

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      Die ultimative Seite für Selbermacher
    2. @@Gunnar Bittersmann:

      nuqneH

      `anrede = prompt("Möchten Sie mit "Du" oder "Sie" angesprochen werden?");`{:.language-javascript}  
      

      Wenn dir der Fehler durchs Syntax-Highlighting (du verwendest doch einen Editor mit, oder?) nicht auffällt, sollte dich aber der Blick in die Fehlerkonsole deines Browsers drauf stoßen.

      Der ganze Wahnsinn mit Anführungszeichen in Computersprachen (dass man gleichartige nicht wie Klammern schachteln kann, dass man escapen muss) resultiert daher, dass es in ihnen – anders als in natürlichen Sprachen! – keine öffnenden und schließenden gibt.

      Aber ich wiederhole mich.

      Protip: Verwende in natürlichsprachigem Text niemals ", sondern richtige Anfährungszeichen. Für Deutsch „“, für Englisch “”.

      Die Unterscheidung zwischen öffnenden und schließenden Anführungszeichen würde auch in Computersprachen einiges vereinfachen.

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      1. Mahlzeit,

        Die Unterscheidung zwischen öffnenden und schließenden Anführungszeichen würde auch in Computersprachen einiges vereinfachen.

        Und einiges würde komplizierter werden. Ich müsste z.B. jedes mal drauf achten ob grad öffnende oder schliessende " nötig sind, nur weil ich in 1% der Fälle sonst ein " escapen müsste.
        Und wenn ich " im String haben will, schliesse ich ihn halt in ' ein.

        Also sehe ist es so, die Verbesserung wäre in 2% der Fälle zu erreichen und in 99% der Fälle wirds komplizierter.

        Bin aber offen für praxistaugliche Beispiele, die mich widerlegen.

        --
        42
        1. @@M.:

          nuqneH

          Und einiges würde komplizierter werden. Ich müsste z.B. jedes mal drauf achten ob grad öffnende oder schliessende " nötig sind,

          Das tust du bei (), [], {} auch, ohne dass dir das kompliziert erschiene. Und durch Paare voneinander verschiedener öffnender und schließender Zeichen wird der Quelltext besser lesbar.

          Qapla'

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
          1. Hello,

            Und einiges würde komplizierter werden. Ich müsste z.B. jedes mal drauf achten ob grad öffnende oder schliessende " nötig sind,

            Das tust du bei (), [], {} auch, ohne dass dir das kompliziert erschiene. Und durch Paare voneinander verschiedener öffnender und schließender Zeichen wird der Quelltext besser lesbar.

            Ich fände es auch einfacher und klarer.

            Das Problem gibt es aber nur bei den Sprachen, die Code und Daten mischen. Alle (typenstrengen) Programmiersprachen (und auch Protokolle), die keine Vermischung von Code und Daten vornehmen, haben die Probleme meiner Meinung nach nicht, zumindest ist mir da sowas noch nie unangenehm aufgestoßen.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            Die ultimative Seite für Selbermacher
          2. Mahlzeit,

            Das tust du bei (), [], {} auch, ohne dass dir das kompliziert erschiene.

            Nicht wirklich, das macht mein Editor automatisch ;)
            Aber das kann man ihm mit Anführungszeichen auch beibringen. Da hast du natürlich recht.

            Und durch Paare voneinander verschiedener öffnender und schließender Zeichen wird der Quelltext besser lesbar.

            Pauschal halte ich das nicht für richtig, das hängt stark vom verwendeten Font ab.

            Aber grundsätzlich ist das alles Geschmacksache. Ich gehe davon aus, wenn eine Programmiersprache verschiedene Anführungszeichen vorschreibt, werden die auch verwendet. Das Hauptproblem sehe ich einfach darin, das eindeutig eine Taste(nkombination) dafür fehlt :=)

            --
            42
          3. Mahlzeit,

            Das tust du bei (), [], {} auch, ohne dass dir das kompliziert erschiene.

            Nicht wirklich, das macht mein Editor automatisch ;)
            Aber das kann man ihm mit Anführungszeichen auch beibringen. Da hast du natürlich recht.

            Und durch Paare voneinander verschiedener öffnender und schließender Zeichen wird der Quelltext besser lesbar.

            Pauschal halte ich das nicht für richtig, das hängt stark vom verwendeten Font ab.

            Aber grundsätzlich ist das alles Geschmacksache. Ich gehe davon aus, wenn eine Programmiersprache verschiedene Anführungszeichen vorschreibt, werden die auch verwendet. Das Hauptproblem sehe ich einfach darin, das eindeutig eine Taste(nkombination) dafür fehlt :=)

            --
            42
            1. Mahlzeit,

              ich hab keine Ahnung, warum die Nachricht jetzt zweimal da ist. Vorher wurde mir ne Fehlermeldung angezeigt, dass die Nachricht nicht angezeigt werden kann.

              --
              42
  6. Hi,

    Schreiben Sie eine HTML-Seite, die den Besucher der Seite beim Laden nach seinem Vornamen fragt und in Erfahrung bringt, ob er mit "Du" oder "Sie" angesprochen werden möchte. Anschließend erscheint ein kurzer Begrüßungstext, der den Namen des Besuchers hervorgehoben (fett) enthält und ihn korrekt mit "Du" oder "Sie" anredet. Zur Hervorhebung des Namens schreiben Sie bitte eine Funktion, die einen beliebigen Text, der als Parameter übergeben wird, in die HTML-Tags <strong> und </strong> einschließt.

    als Übung ist diese Aufgabe sicher okay; in der wirklichen Welt möchte man sowas aber eher nicht in eine öffentliche Seite einbauen, weil solche Dinge meist als lästig empfunden werden.

    Zu deinem Lösungsansatz gäbe es einiges zu sagen.

    Die Methoden prompt() und alert() sind in ihren Möglichkeiten sehr eingeschränkt. Vor allem ist prompt() nicht für Eingaben geeignet, bei denen nur eine von mehreren Möglichkeiten ausgewählt werden soll. Die Aufgabenstellung würde ich eher mit einem Formular als mit prompt() und alert() angehen.

    name = prompt("Was ist Ihr Vorname");

    Fragen beendet man im Deutschen normalerweise mit einem Fragezeichen.

    anrede = prompt("Möchten Sie mit "Du" oder "Sie" angesprochen werden?");

    Syntaxfehler. Das Anführungszeichen vor dem "Du" beendet den String. Wenn Anführungszeichen innerhalb des Strings vorkommen, muss man sie entweder maskieren (in JS durch Voranstellen eines Backslashes), oder man nutzt die Möglichkeit, sowohl einfache als auch doppelte Anführungszeichen zu verwenden. Im Gegensatz zu manchen anderen Sprachen macht Javascript da keinen Unterschied (HTML auch nicht).
    Außerdem erlaubt prompt() dem Besucher, wirklich ALLES einzugeben. Er könnte auf diese Frage auch mit "Gartenzwerg" antworten, oder mit einem leeren String. Daher mein Hinweis weiter oben auf ein Formular - hier wären Radiobuttons die richtige Wahl. Oder *eine* Checkbox, die etwa mit "Ich möchte geduzt werden" beschriftet ist.

    alert("Ok Sie haben die Anrede ",anrede," ausgewählt")

    Syntaxfehler. Die Methode alert() erwartet genau *einen* String als Parameter, nicht mehrere durch Komma getrennte. Wenn du mehrere String zu einem einzigen verketten willst, hilft der Operator + (Plus).

    prompt("Ihr name ist ",name," ist dies sofern richtig?");

    Dasselbe in Grün mit der Stringverkettung - mit dem Unterschied, dass prompt() zwei Parameter kennt, und der zweite den Defaultwert darstellt, der automatisch ins Eingabefeld eingetragen wird. Außerdem: prompt() fordert und liefert eine _Eingabe_, die du gar nicht benutzt. Und das Wörtchen "sofern" ist in diesem Satz sprachlicher Unfug.

    alert("Hallo <strong>",name,"</strong> ich freue mich ",anrede," dich hier begrüßen zu dürfen");

    Siehe oben: Das sind wieder mehrere durch Komma getrennte Paramter anstatt eines einzigen. Dazu kommt, dass alert() nur reinen Text ausgeben kann, kein HTML. Die Formatierung durch <strong> hat also hier keine Wirkung, die Tags werden so, wie sie da stehen, im Klartext angezeigt. Damit diese Tags wirken, muss der String im HTML-Kontext ausgegeben werden.
    Und mal ganz ehrlich: Entspricht das der Aufgabenstellung "Schreiben Sie eine Funktion ..."? Nicht wirklich.

    document.writeln();

    Was willst du damit erreichen? Zunächst mal fehlt der Parameter für writeln() - auch ein Syntaxfehler. Und dann wäre das eigentlich die Stelle, wo es Sinn ergibt, den mit Formatierungs-Tags angereicherten String ins HTML-Dokument zu schreiben.

    Allerdings gilt für write() und writeln() sinngemäß das gleiche wie für alert() und prompt(): Kann man machen, ist auch so schön einfach, gilt aber als "bad practice" und hat eine Reihe von Einschränkungen (kann z.B. nur verwendet werden, während das Dokument geladen/aufgebaut wird, nicht mehr danach).

    So long,
     Martin

    --
    F: Wer waren die ersten modernen Politiker?
    A: Die Heiligen drei Könige. Sie legten die Arbeit nieder, zogen teure Klamotten an und gingen auf Reisen.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. @@Der Martin:

      nuqneH

      Wenn Anführungszeichen innerhalb des Strings vorkommen, muss man sie entweder maskieren (in JS durch Voranstellen eines Backslashes), oder man nutzt die Möglichkeit, sowohl einfache als auch doppelte Anführungszeichen zu verwenden.

      Weder noch. " bzw. ' sollten nicht innerhalb des Strings vorkommen.

      Außer in:
      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      1. Mahlzeit,

        Weder noch. " bzw. ' sollten nicht innerhalb des Strings vorkommen.

        Das versteh ich jetzt nicht. Wieso sollte das so sein?

        --
        42
        1. Hallo,

          Weder noch. " bzw. ' sollten nicht innerhalb des Strings vorkommen.
          Das versteh ich jetzt nicht. Wieso sollte das so sein?

          das ist eins von Gunnars Steckenpferdchen: Er hat lieber "typographisch korrektes" Geschnörkel als richtige Anführungszeichen.

          Ciao,
           Martin

          --
          Eine Nonne kommt in den Himmel. An der Pforte fragt Petrus: "Wer bist du?" - "Ich bin die Braut Jesu." Petrus stutzt einen Moment, ruft dann nach hinten: "He Freunde, habt ihr schon gehört? Der Juniorchef will heiraten!"
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          1. @@Der Martin:

            nuqneH

            Weder noch. " bzw. ' sollten nicht innerhalb des Strings vorkommen.
            Das versteh ich jetzt nicht. Wieso sollte das so sein?

            Darum.

            das ist eins von Gunnars Steckenpferdchen: Er hat lieber "typographisch korrektes" Geschnörkel als richtige Anführungszeichen.

            Ich habe lieber richtige Anführungszeichen als schockierender Überbleibsel veralteter Technik.

            Qapla'

            --
            „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
            1. Mahlzeit,

              Darum.

              Ganz ehrlich? Ich weiss nichtmal wo ich die auf der Tastatur finde.

              Ich habe lieber richtige Anführungszeichen als schockierender Überbleibsel veralteter Technik.

              Hat das in der Realität wirklich Relevanz? Kennen wirklich eine relevante Anzahl Menschen den Unterschied?
              Weder Kunden noch Seitenbesucher hatten bisher ein Problem. Und ich glaube auch, dass die meisten ebenfalls nicht wissen, wo sie echte Anführungszeichen auf der Tastatur haben. Programme wie Word machen das ja automatisch.

              --
              42
              1. @@M.:

                nuqneH

                Ganz ehrlich? Ich weiss nichtmal wo ich die auf der Tastatur finde.

                Dort.

                Hat das in der Realität wirklich Relevanz? Kennen wirklich eine relevante Anzahl Menschen den Unterschied?

                Das will ich hoffen. Bei vielen vielleicht auch eher unbewusst.

                Bei mir hat die Verwendung von "/' immer den faden Beigeschmack: Der Schreiberling hat keine Ahnung/gibt sich keine Mühe.

                Programme wie Word machen das ja automatisch.

                Aber Vorsicht! Automatische Umwandlung von "/' muss passend zur Sprache sein. An die falsche Verwendung englischer Anführungszeichen “” im Deutschen hat man sich ja fast schon gewöhnt. Deutsche Anführungszeichen „“ in englischen Texten sind völlig fehlplaziert. Anführungszeichen international

                Qapla'

                --
                „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                1. Mahlzeit,

                  @@M.:

                  nuqneH

                  Ganz ehrlich? Ich weiss nichtmal wo ich die auf der Tastatur finde.

                  Dort.

                  Ich nix Windows und ich nix Mac ....

                  Das will ich hoffen. Bei vielen vielleicht auch eher unbewusst.

                  Wie gesagt, weder Kunde noch Seitenbesucher haben sich bisher beschwert.

                  Bei mir hat die Verwendung von "/' immer den faden Beigeschmack: Der Schreiberling hat keine Ahnung/gibt sich keine Mühe.

                  Oder er merkt sich lieber wichtige Dinge anstatt Alt-Codes.

                  Aber Vorsicht! Automatische Umwandlung von "/' muss passend zur Sprache sein.

                  Ich schreibe nur deutsche Texte, da es entweder Behördenbriefe oder Aktions-Zettel für den Laden sind. Aber wenn ich das richtig gesehen hab, stellt Libreoffice das nach eingestellter Sprache automatisch um.

                  --
                  42
                  1. @@M.:

                    nuqneH

                    Ich nix Windows und ich nix Mac ....

                    Auch unter *nix wird es eine Möglichkeit geben.

                    Wie gesagt, weder Kunde noch Seitenbesucher haben sich bisher beschwert.

                    Werden sie auch weiterhin nicht tun. Ich beschwere mich auch nicht, wenn mir jemand " zum Lesefraß vorwirft. Was nicht heißt, dass ich das gut finde.

                    Oder er merkt sich lieber wichtige Dinge anstatt Alt-Codes.

                    Ist natürlich nicht optimal. Besser ist es auf iOS und Android: ["]-Taste gedrückt halten und es erscheint eine Auswahl mit („ und) “, ”, » und «; ['] gedrückt halten für ‘ und ’, [-] für – und —.

                    „ liegt bei (meinem?) Android woanders. Bis ich das endliche herausgefunden habe, hatte ich ersatzweise »« verwendet. Was einige auch für die schöneren Anführungszeichen halten.

                    Aber wenn ich das richtig gesehen hab, stellt Libreoffice das nach eingestellter Sprache automatisch um.

                    Gut so.

                    Qapla'

                    --
                    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                    1. Hello,

                      Ist natürlich nicht optimal. Besser ist es auf iOS und Android: ["]-Taste gedrückt halten und es erscheint eine Auswahl mit („ und) “, ”, » und «; ['] gedrückt halten für ‘ und ’, [-] für – und —.

                      sowas müsste man doch einem WinDosen- und einem Linux-Tastaturtreiber auch beibrigen können. Shift-Strg und dann die 2-Taste durchtickern, bis das passende Häkchen steht...

                      Hoffentlich liest es jemand, der sich mit Tastaturtreibern auskennt :-)

                      Liebe Grüße aus dem schönen Oberharz

                      Tom vom Berg

                      --
                       ☻_
                      /▌
                      / \ Nur selber lernen macht schlau
                      Die ultimative Seite für Selbermacher
                      1. Om nah hoo pez nyeetz, Tom!

                        Ist natürlich nicht optimal. Besser ist es auf iOS und Android: ["]-Taste gedrückt halten und es erscheint eine Auswahl mit („ und) “, ”, » und «; ['] gedrückt halten für ‘ und ’, [-] für – und —.

                        sowas müsste man doch einem WinDosen- und einem Linux-Tastaturtreiber auch beibrigen können. Shift-Strg und dann die 2-Taste durchtickern, bis das passende Häkchen steht...

                        Hoffentlich liest es jemand, der sich mit Tastaturtreibern auskennt :-)

                        Microsoft zum Beispiel? ;-)

                        Die Diskussion ist müßig zu führen. Da, wo die Dokumente schön aussehen sollen, werden die Anführungszeichen auf Wunsch automatisch der richtigen Typografie angepasst. Hier in diesem Forum schreiben wir aber plain-Text. Einige werden sich darüber ärgern und aufmerksam in der Gegend umherschauen und vielleicht die Leiste mit den Anführungszeichen entdecken, ebenso die 3 … und das ™ ;-)

                        Matthias

                        --
                        Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Auto und Automat.

                  2. Ganz ehrlich? Ich weiss nichtmal wo ich die auf der Tastatur finde.
                    Dort.
                    Ich nix Windows und ich nix Mac ....

                    X bietet eigentlich alles, was das deutsche Schreiberherz begehrt: die Kombination aus Alt Gr + V ergibt „ und Alt Gr + B ”. Auslassungspunkte gibt es mit Alt Gr + . und den Halbgeviertstrich mit Alt Gr + -.

                    Oder wer gerne mit der Compose-Taste arbeitet:

                    $ grep -E "„|“|…|–" /usr/share/X11/locale/en_US.UTF-8/Compose  
                    <Multi_key> <period> <period>    	: "…"   ellipsis # HORIZONTAL ELLIPSIS  
                    <Multi_key> <less> <quotedbl>    	: "“"   U201c # LEFT DOUBLE QUOTATION MARK  
                    <Multi_key> <quotedbl> <less>    	: "“"   U201c # LEFT DOUBLE QUOTATION MARK  
                    <Multi_key> <comma> <quotedbl>   	: "„"   U201e # DOUBLE LOW-9 QUOTATION MARK  
                    <Multi_key> <quotedbl> <comma>   	: "„"   U201e # DOUBLE LOW-9 QUOTATION MARK  
                    <Multi_key> <minus> <minus> <period> 	: "–"   U2013 # EN DASH
                    

                    \0

          2. Hallo,

            Er hat lieber "typographisch korrektes" Geschnörkel als richtige Anführungszeichen.

            Was sind denn richtige Anführungszeichen? " und ' kannst du nicht meinen. Die stammen historisch aus der Telegrafie (19. Jahrhundert) und flossen dann in 7-Bit-ASCII (ab 1960).

            Heutzutage haben wir Zeichensätze und Kodierungen, die die Wirklichkeit der Sprachen und Schriften besser abbilden – wie sie schon seit Jahrhunderten, teilweise Jahrtausenden existieren.

            Mathias

            1. Hi,

              Er hat lieber "typographisch korrektes" Geschnörkel als richtige Anführungszeichen.
              Was sind denn richtige Anführungszeichen? " und ' kannst du nicht meinen.

              kann ich nicht?

              Die stammen historisch aus der Telegrafie (19. Jahrhundert) und flossen dann in 7-Bit-ASCII (ab 1960).

              Eben. Und sie bilden genau das ab, was man auch beim Schreiben von Hand hinkritzelt: Zwei bzw. ein Strichlein an der Oberlinie. Und entsprechen genau dem, wie ich auch in der Schule gelernt habe, dass Anführungszeichen bzw. Apostrophe auszusehen haben.

              Nur weil mit Unicode und den heute verbreiteten Codierungen auch die Kunstformen vieler Symbole zur Verfügung stehen, sind die entsprechenden Basiszeichen deswegen nicht weniger richtig.

              Das ist ähnlich wie mit Schriftarten: Es gibt unzählige aufwendig ausgeschmückte Schriften; das ändert aber nichts daran, dass einfache, klare serifenlose Schriften nach wie vor ihre Berechtigung haben.

              Heutzutage haben wir Zeichensätze und Kodierungen, die die Wirklichkeit der Sprachen und Schriften besser abbilden – wie sie schon seit Jahrhunderten, teilweise Jahrtausenden existieren.

              Ich habe ja nichts dagegen, wenn manche Leute sich da verkünsteln. Aber die einfache Basisform deswegen abzulehnen, halte ich für falsch.

              Ciao,
               Martin

              --
              Kleine Geschenke erhalten die Freundschaft.
              Große verderben sie aber meist auch nicht.
              Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
              1. @@Der Martin:

                nuqneH

                Eben. Und sie bilden genau das ab, was man auch beim Schreiben von Hand hinkritzelt: Zwei bzw. ein Strichlein an der Oberlinie. Und entsprechen genau dem, wie ich auch in der Schule gelernt habe, dass Anführungszeichen bzw. Apostrophe auszusehen haben.

                Hah! Wusst’ ich’s doch, dass die allgemeinbildende polytechnische Oberschule dem West-Schulsystem überlegen ist. Bei uns hat man gelernt, Anführungszeichen bzw. oben zu setzen.

                Und BTW, in meiner Schreibschrift haben Anführungszeichen und Kommas die Form einer 9 bzw. 6.

                Und überhaupt ist das kaum ein Argument. Schreibschrift sieht anders aus als Druckschrift. Du setzt vielleich auch einen Strich aufs i statt einen Punkt?

                Nur weil mit Unicode und den heute verbreiteten Codierungen auch die Kunstformen vieler Symbole zur Verfügung stehen, sind die entsprechenden Basiszeichen deswegen nicht weniger richtig.

                Kunstformen waren hier nicht gemeint. ‚‘’„“” sind Basiszeichen.

                Kunstformen sind:
                ❛ U+275B HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
                ❜ U+275C HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
                ❝ U+275D HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
                ❞ U+275E HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
                ❠ U+2760 HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
                ❢ U+2762 HEAVY EXCLAMATION MARK ORNAMENT
                ❣ U+276# HEAVY HEART EXCLAMATION MARK ORNAMENT

                Das ist ähnlich wie mit Schriftarten: Es gibt unzählige aufwendig ausgeschmückte Schriften; das ändert aber nichts daran, dass einfache, klare serifenlose Schriften nach wie vor ihre Berechtigung haben.

                Anderes Thema. Aber ja, haben sie. Ebenso wie Serifenschriften, Schreibschriften, …

                Und wenn du Serifenschriften wie Cambria oder Georgia mit „aufwendig ausgeschmückt“ meinst – nein.

                Qapla'

                --
                „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                1. Und BTW, in meiner Schreibschrift haben Anführungszeichen und Kommas die Form einer 9 bzw. 6.

                  Was hat deine Mathelehrerin dazu gesagt?

                  1. @@unknown:

                    nuqneH

                    Und BTW, in meiner Schreibschrift haben Anführungszeichen und Kommas die Form einer 9 bzw. 6.
                    Was hat deine Mathelehrerin dazu gesagt?

                    Nichts. Das war damals[tm] noch nicht so. Früher[tm] hab ich mich noch mit gerade Strichen begnügt. Aber schon unten bzw. oben.

                    Außerdem heißt „die Form einer 9 bzw. 6“ die Form einer 9 bzw. 6, nicht die Größe einer 9 bzw. 6.

                    Qapla'

                    --
                    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
                2. Hello,

                  Und überhaupt ist das kaum ein Argument. Schreibschrift sieht anders aus als Druckschrift. Du setzt vielleich auch einen Strich aufs i statt einen Punkt?

                  Kommt aufs Wort und den Zusammenhang an. Manchmal tut es auch ein Herzchen :-)

                  Liebe Grüße aus dem schönen Oberharz

                  Tom vom Berg

                  --
                   ☻_
                  /▌
                  / \ Nur selber lernen macht schlau
                  Die ultimative Seite für Selbermacher
              2. Hallo!

                Und sie bilden genau das ab, was man auch beim Schreiben von Hand hinkritzelt: Zwei bzw. ein Strichlein an der Oberlinie. Und entsprechen genau dem, wie ich auch in der Schule gelernt habe, dass Anführungszeichen bzw. Apostrophe auszusehen haben.

                Und was hat die Handschrift, die in der Schule gelehrt wird, mit Webtypografie zu tun?

                Wir blicken auf über 500 Jahre jüngere Typografiegeschichte zurück. Daran sollte sich das Veröffentlichen digitaler Texte orientieren, nicht an dem »Hinkritzeln« beim Schreiben mit der Hand.

                Maßgeblich sind die Entwicklungen seit dem Buchdruck. Manuskripte und Kalligraphie waren davor schon elaborierter als eine vereinfachte Pennäler-Schreibschrift.

                Nur weil mit Unicode und den heute verbreiteten Codierungen auch die Kunstformen vieler Symbole zur Verfügung stehen, sind die entsprechenden Basiszeichen deswegen nicht weniger richtig.

                Es ist nicht so, dass " und ' »Basiszeichen« sind und das andere »Kunstformen«. Die Basiszeichen sind „“ “” »« ›‹, weil sie meines Wissens bereits vorher im Druck existierten. Erst mit Schreibmaschinen und Telegrafie, erst mit 5-, 6- und 7-Bit-Kodierungen wurde aus technischen Gründen eine Vereinfachung vorgenommen. Ganz zu schweigen davon, dass diese Entwicklung auf lateinische Schrift und v.a. die englische Sprache beschränkt war.

                Das ist ähnlich wie mit Schriftarten: Es gibt unzählige aufwendig ausgeschmückte Schriften; das ändert aber nichts daran, dass einfache, klare serifenlose Schriften nach wie vor ihre Berechtigung haben.

                Ein unpassender Vergleich.

                Dass es unterschiedliche Fonts gibt, die verschiedenen Zwecken dienen, hat nichts damit zu tun, dass es einerseits Anführungszeichen gibt aus der Telegrafie und von Schreibmaschinen – sehr beschränkte Vorläufer der heutigen Technik – und dass es Anführungszeichen gibt, die die Vielfalt der Schriftsysteme abbilden und Jahrhunderte alte Schrifttradition wiederaufnehmen.

                Wie eine Schrift ein Zeichen realisiert, z.B. U+201E DOUBLE LOW-9 QUOTATION MARK, ist nicht in Unicode definiert und ist der Schrift überlassen. Sie sind nicht notwendig »ausgeschmückt«, sie können auch »einfach« und »klar« sein. Es sind schlicht die korrekten Codepoints.

                Ich habe ja nichts dagegen, wenn manche Leute sich da verkünsteln. Aber die einfache Basisform deswegen abzulehnen, halte ich für falsch.

                Ich habe nichts dagegen, wenn sie fürs Morsen, fürs Telegrafieren und für Lochkarten verwendet werden. :) Denn dafür wurden sie geschaffen.

                Es gibt keinen triftigen Grund dafür, sie auf Webseiten zu benutzen, da bessere, korrekte Alternativen zur Verfügung stehen.

                Es gibt viele Gründe dafür, sie zu benutzen; einen davon hat Gunnar hier genannt: Sie sind keine Stringbegrenzer in Programmiersprachen.

                Grüße
                Mathias

                1. @@molily:

                  nuqneH

                  Ganz zu schweigen davon, dass diese Entwicklung auf lateinische Schrift und v.a. die englische Sprache beschränkt war.

                  Interessanter Aspekt. Im Englischen werden ja sowohl öffende “ als auch schließende Anführungszeichen ” oben gesetzt. Das macht es vielleicht einfacher, beide zu " zu vereinfachen.

                  Obwohl: Auch auf deutschen Schreibmaschinen (QWERTZ) gab er nur ".

                  Qapla'

                  --
                  „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  7. Hallo,

    ich würde dir raten, ein gutes aktuelles JavaScript-Buch zu kaufen, das zum einen

    • Grundlagen von JavaScript zeitgemäß beschreibt,
    • das Arbeiten mit dem DOM und ggf. mit jQuery beschreibt.

    Beides ist bei dem 2000 erschienenen »JavaScript-Workshop« nicht der Fall. Deine Beispielaufgabe vermischt alte und neue Techniken und übersieht Grundlegendes. Ich denke nicht, dass sich mit alert, prompt und document.write Beispiele bauen lassen, aus denen du etwas sinnvolles für die Webprogrammierung lernen kannst. Grundlagen des Kontrollfluss lassen sich damit erarbeiten, aber JavaScript auf einer Website arbeitet mit Events, nimmt Eingaben über Formulare entgegen und macht Ausgaben über das DOM.

    (Damit will ich nicht abwerten, was Christine Kühnel und Stefan Mintert da einst auf die Beine gestellt haben, im Gegenteil, sie waren PionierInnen. Antje Hofmann wäre hier auch zu nennen…)

    Mathias