Ergebnis 1 bis 7 von 7
  1. #1
    scavenger ist offline Jungspund
    registriert
    01-08-2008
    Beiträge
    14

    Problem mit if-Abfrage: ergibt nicht true obwohl true ist

    Hallo,

    ich habe ein komisches Problem und sehe vor lauter Bäumen den Wald vermutlich nicht mehr. Folgende if-Abfrage:

    Code:
    if (personalIdentifyOther && (Store[st + ".PURPOSE-contact"] == ("opt-out" || "always" || "1"))){
    			// do something
    		}
    ergibt immer false wenn Store[st + ".PURPOSE-contact"] gleich 1 ist. Ist Store[st + ".PURPOSE-contact"] jedoch "always" oder "opt-out", dann ergibt die Abfrage korrekter Weise true. personalIdentifyOther ist immer true.

    Ich habe mir das ganze im Debugger angesehen und verstehe das nun überhaupt nicht mehr. Die erste Abfrage ergibt true, die zweite und dritte nicht mehr - wieso? Während dieser eval-Aufrufe wurden keine Variablenwerte verändert! Wenn es ein Problem mit integer/boolean geben würde, dann würde die erste Abfrage ja auch false ausgeben bzw. die anderen beiden ja auch true. Oder sieht JavaScript die 1 in der ersten Abfrage als boolean an und in den anderen beiden eval-Aufrufen nicht?

    Code:
    0001: eval(Store[st + ".PURPOSE-contact"] == ("1"))
    $[19] = [boolean] true
    0001: eval(Store[st + ".PURPOSE-contact"] == ("opt-out" || "always" || "1"))
    $[20] = [boolean] false
    0001: eval(Store[st + ".PURPOSE-contact"] == ("opt-out" || "1"))
    $[21] = [boolean] false
    Danke für jede Hilfe!

    scav

  2. #2
    Avatar von Albu
    Albu ist offline Super Moderator
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Problem mit if-Abfrage: ergibt nicht true obwohl true ist

    Zitat Zitat von scavenger Beitrag anzeigen
    (Store[st + ".PURPOSE-contact"] == ("opt-out" || "always" || "1"))
    Was ist das für ein Konstrukt?
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  3. #3
    scavenger ist offline Jungspund
    registriert
    01-08-2008
    Beiträge
    14

    AW: Problem mit if-Abfrage: ergibt nicht true obwohl true ist

    Du meinst, dass ist keine korrekte Syntax?

    Ich frage ab, ob der Inhalt der Variable entweder opt-out, always or 1 ist *g*

  4. #4
    Avatar von Albu
    Albu ist offline Super Moderator
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Problem mit if-Abfrage: ergibt nicht true obwohl true ist

    Zitat Zitat von scavenger Beitrag anzeigen
    Du meinst, dass ist keine korrekte Syntax?

    Ich frage ab, ob der Inhalt der Variable entweder opt-out, always or 1 ist *g*
    Aus welchem Buch hast Du das? Und in welcher Programmiersprache funktioniert das so?
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  5. #5
    scavenger ist offline Jungspund
    registriert
    01-08-2008
    Beiträge
    14

    AW: Problem mit if-Abfrage: ergibt nicht true obwohl true ist

    Zitat Zitat von Albu Beitrag anzeigen
    Aus welchem Buch hast Du das? Und in welcher Programmiersprache funktioniert das so?
    Ich hab das aus keinem Buch und weiß nicht, in welcher Programmiersprache das so funktioniert oder auch nicht - ich bin auch neu in JS, finde aber, dass das durchaus logisch ist - aber offenbar funktioniert das so nicht, zumindest entnehme ich das deinen Fragen. Dann muss ich halt "ausformulieren" was halt mehr Platz braucht...

    Danke!

  6. #6
    Luz
    Luz ist offline Haudegen
    registriert
    27-09-2003
    Beiträge
    698

    AW: Problem mit if-Abfrage: ergibt nicht true obwohl true ist

    Zitat Zitat von scavenger Beitrag anzeigen
    Ich hab das aus keinem Buch und weiß nicht, in welcher Programmiersprache das so funktioniert oder auch nicht - ich bin auch neu in JS, finde aber, dass das durchaus logisch ist
    PHP-Code:
    if ( (a==10) || (a==20) || (a==30) ) 
    ist die korrekte Syntax für sowas.

  7. #7
    scavenger ist offline Jungspund
    registriert
    01-08-2008
    Beiträge
    14

    AW: Problem mit if-Abfrage: ergibt nicht true obwohl true ist

    danke, so habe ich es jetzt auch schon gemacht

Ähnliche Themen

  1. IE Problem
    Von wirkungsquantum im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 27-02-2007, 20:17
  2. Menubar Problem
    Von watchword-anaki im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 12-01-2007, 12:36
  3. Antworten: 1
    Letzter Beitrag: 16-09-2006, 00:35
  4. MySql Abfrage mit Navigation
    Von Jermaine im Forum Serverseitige Programmierung
    Antworten: 0
    Letzter Beitrag: 04-09-2005, 15:32
  5. Abfrage Problem...
    Von man im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 21-06-2003, 20:19

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •