document?: frage über die ? und :

Hallo ich versuche gerade ein Drag & Drop zu basteln und verstehe diesen Befehl hier nicht: posx = document.all ? window.event.clientX : ereignis.pageX;
Was bewirkt das "?" und ":"?

Quelle des Tutorials:
http://aktuell.de.selfhtml.org/artikel/javascript/draganddrop/

Danke für hilfen.

  1. Hi,

    Was bewirkt das "?" und ":"?

    Das ist eine Abkürzung für if-else

    var x =  bedingung? true : false;

    wenn bedingung zutrifft ist x true, andernfalls false.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Hi,

      Was bewirkt das "?" und ":"?
      Das ist eine Abkürzung für if-else

      var x =  bedingung? true : false;

      wenn bedingung zutrifft ist x true, andernfalls false.

      Gruesse, Joachim

      Nur so zum verständnis: was heisst mein zitierter Codeschnipsel im ersten Post ausgesprochen?

      1. @@document?:

        nuqneH

        Nur so zum verständnis: was heisst mein zitierter Codeschnipsel im ersten Post ausgesprochen?

        posx ist gleich document (Punkt) all Fragezeichen window (Punkt) event (Punkt) clientX Doppelpunkt ereignis (Punkt) pageX Semikolon

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. Hi!

          Nur so zum verständnis: was heisst mein zitierter Codeschnipsel im ersten Post ausgesprochen?
          posx ist gleich document (Punkt) all Fragezeichen window (Punkt) event (Punkt) clientX Doppelpunkt ereignis (Punkt) pageX Semikolon

          Ist ja wie im China-Restaurant: "Was spricht man das da aus?" - "Siebenundvierzig."

          Lo!

          1. Hi!

            Ist ja wie im China-Restaurant: "Was spricht man das da aus?" - "Siebenundvierzig."

            "Wie" natürlich, nicht "Was".

            Lo!

            1. Ist ja wie im China-Restaurant: "Was spricht man das da aus?" - "Siebenundvierzig."

              "Wie" natürlich, nicht "Was".

              Es gibt aber glücklicherweise auch Karten mit Übersetzung.

              1. @@suit:

                nuqneH

                Es gibt aber glücklicherweise auch Karten mit Übersetzung.

                Es gibt ja auch Restaurants mit Übersetzung.

                Qapla'

                --
                Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                (Mark Twain)
  2. Om nah hoo pez nyeetz, document?!

    ternärer Operator, Erläuterung (etwa in der Mitte der Seite)

    Matthias

    --
    1/z ist kein Blatt Papier.

    1. ternärer Operator, Erläuterung (etwa in der Mitte der Seite)

      Wie wäre es mit Zwischenüberschriften und Ankern? :D

  3. Lieber document?,

    posx = document.all ? window.event.clientX : ereignis.pageX;
    Was bewirkt das "?" und ":"?

    es ist synonymisch zu folgendem Konstrukt:

    if (document.all) {  
        posx = window.event.clientX;  
    } else {  
        posx = ereignis.pageX;  
    }
    

    Anstatt dieser fünf Zeilen notiert man das eben in einer.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. if (document.all) {

      posx = window.event.clientX;
      } else {
          posx = ereignis.pageX;
      }

      
      >   
      > Anstatt dieser fünf Zeilen notiert man das eben in einer.  
      
      »»  
        
      Dann mach ich das eben so  
        
      `if (document.all) { posx = window.event.clientX; } else { posx = ereignis.pageX; }`{:.language-javascript}  
        
      ;-)
      
      1. Hi!

        Anstatt dieser fünf Zeilen notiert man das eben in einer.
        Dann mach ich das eben so
        if (document.all) { posx = window.event.clientX; } else { posx = ereignis.pageX; }

        Das wäre unsinnig. Die beiden Schreibweisen sind nur in speziellen Fällen gleichbedeutend. Man kann nicht jedes if-else zu ?: umschreiben. Ich finde in dem Fall das foo = xyz ? bar : qux; besser lesbar, weil man sofort sieht, dass das Ziel eine Variablenzuweisung ist und nicht etwa unterschiedliche Variablen oder gar komplett andere Dinge im if- und else-Zweig behandelt werden.

        Lo!