cumga: javascript variable==null - was heißt das

ich habe folgendes beispiel

<script type="text/javascript">
   var name = "";
   antwort=confirm("Möchten Sie mir Ihren Namen sagen?");
   if (antwort==true) name=prompt("Wie heißen Sie denn?","");

if ((name=="")|| (name==null))
    {
    alert("Dann nenne ich Sie ab sofort Herr Unbekannt.");
    name="Herr Unbekannt";
    }
    document.write("Hallo " + name + ",<br>Willkommen.");
</script>

was bedeutet der teil (name==null)
was ist der unterschied zum befehl (name=""). es gibt sowieso nur den fall, dass im name entweder was steht oder nicht, aber was sagt jetzt das null?

danke schon im voraus

  1. var name = "";
       antwort=confirm("Möchten Sie mir Ihren Namen sagen?");
       if (antwort==true) name=prompt("Wie heißen Sie denn?","");

    if ((name=="")|| (name==null))

    was bedeutet der teil (name==null)

    null ist in vielen Programmiersprachen ein besonderer Wert, der das Nichts repräsentiert. Eine Variable ohne jeglichen Inhalt ist null. null hat seinen Ursprung in Programmiersprachen, die direkt mit Speicheradressen arbeiten.

    was ist der unterschied zum befehl (name="").

    Du meinst sicher den Vergleich name=="", nicht die Zuweisung name="".

    "" ist ein leerer String, in seiner Art ähnlich der Zahl 0 bei nummerischen Werten. Die Variable hat zwar noch einen Typ ("": String, 0: Zahl), aber keinen echten, zählbaren, greifbaren Inhalt.

    Ist eine Variable null, hat sie in diesem Sinne nicht nur keinen Inhalt, sondern nicht einmal mehr einen Typ.

    es gibt sowieso nur den fall, dass im name entweder was steht oder nicht,

    Richtig, deshalb ist dieser Teil in dem Skript überflüssig.

    1. Hallo,

      es gibt sowieso nur den fall, dass im name entweder was steht oder nicht,

      Richtig, deshalb ist dieser Teil in dem Skript überflüssig.

      Nein. Wenn der Anwender im Prompt-Fenster »Abbrechen« wählt, gibt die Methode in manchen Browsern »null« zurück. name=="" träfe nicht zu. Heraus käme »Hallo null, Willkommen«.

      Mathias