roman lenz: String vergleichen

hi hi

ich möchte prüfen ob sortart true oder false ist und dementsprechend eine function aufrufen.
bei mir wird immer sortalpah() aufgerufen auch wenn ich:
 if(sortart=="false") abfrage.
mit alert(soert); bekomme ich "false" zurück
mit alert(sortart.length); bekomme ich undef zurück

function sort(x) {
  var sortart = isNaN(document.getElementById(x).firstChild.data);
alert(sortart);
  if(sortart=="true"){
    sortnum();
  }
  else{
    sortalpah();
  }
}

2te. aufgabe   (in der kürze liegt die würze)

kann ich die function auch so aufrufen?

(sortart == "false") ? sortnum() : sortalpah();

besten dank

bis bis roman

  1. Hallo erstmal

    (sortart == "false")

    Was willst du mit dieser Abfrage bezwecken?
    ob die Variabel "sortart" falsch ist, oder ob sie die Worte "false" enthalten?
    Ich galube du willst das 1.
    Dann solltest du false oder true nicht in anführungszeichen schreiben.

    Gruss Michy

  2. hi hi

    ich möchte prüfen ob sortart true oder false ist und dementsprechend eine function aufrufen.
    bei mir wird immer sortalpah() aufgerufen auch wenn ich:
    if(sortart=="false") abfrage.

    false/true sind Schlüsselwörter in JS.

    mit alert(soert); bekomme ich "false" zurück

    weil soert kein String ist.

    2te. aufgabe   (in der kürze liegt die würze)

    kann ich die function auch so aufrufen?

    (sortart == "false") ? sortnum() : sortalpah();

    nicht ganz.

    var x= !sortart ? sortnum() : sortalpah();

    !(not) ist wahr, wenn der ausdruck false/null oder ein Leerstring ist.

    Struppi.

    1. hi hi

      false/true sind Schlüsselwörter in JS.

      ja und ich hab doch vorher meinen string mit false / true belegt

      mit alert(soert); bekomme ich "false" zurück

      weil soert kein String ist.

      sorry ist ein rechtschreibfehler
      ich hab immer alert(sortart); abgefragt

      var x= !sortart ? sortnum() : sortalpah();

      klappt dank dir.

      var x= ist das nur ein dummy der gebraucht wird damit der syntax dieser abfrage klappt?

      besten dank

      bis bis roman

      1. false/true sind Schlüsselwörter in JS.
        ja und ich hab doch vorher meinen string mit false / true belegt

        Nein, hast du nicht, du hast eine Variabel mit einem boolschen Wert belegt:
        var sortart = isNaN(document.getElementById(x).firstChild.data);

        isNaN gibt true/flase zurück.

        mit alert(soert); bekomme ich "false" zurück

        weil soert kein String ist.
        sorry ist ein rechtschreibfehler
        ich hab immer alert(sortart); abgefragt

        Ja und das alert sagt false aber nicht "false" das is ein grosser Unterschied. Wie du ja selber festgestellt hast.

        var x= ist das nur ein dummy der gebraucht wird damit der syntax dieser abfrage klappt?

        Vermutlich, ich hab das einfach so gemacht, weil es die übliche Schreibweise ist, probiers halt mal ohne.

        Struppi.