Frankenstein: Eine Programmzeile

Kann mir das bitte jemand erklären?

window.iPhone = window.iPhone || {};

Vielen Dank im Voraus

Michael

  1. Hi,

    Kann mir das bitte jemand erklären?

    window.iPhone = window.iPhone || {};

    Wenn ein Objekt namens window.iPhone existiert, wird dieses übernommen, sonst ein neues, leeres Objekt angelegt.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. @@ChrisB:

      nuqneH

      window.iPhone = window.iPhone || {};

      Wenn ein Objekt namens window.iPhone existiert, wird dieses übernommen, sonst ein neues, leeres Objekt angelegt.

      s.a. http://forum.de.selfhtml.org/archiv/2009/10/t191894/#m1279928

      Qapla'

      --
      Volumen einer Pizza mit Radius z und Dicke a: pi z z a
      1. Super! Vielen Dank!

        Gibt es eigentlich bei SELFHTML eine Seite die sich mit solchen Abkürzungen beschäftigt? Denn alle meine Bücher benutzen nur die lange Schreibweise. Wahrscheinlich weil Keiner, der JavaScript lernt, so was am Anfang verstehen würde.

        if (!new RegExp(("(^|\\s)" + elClass + "(\\s|$)"), "i").test(curr)) {  
             element.className = curr + ((curr.length > 0) ? " " : "") + elClass;  
        }
        

        Gruß Michael

    2. Hallo,

      Wenn ein Objekt namens window.iPhone existiert, wird dieses übernommen, sonst ein neues, leeres Objekt angelegt.

      Genau. Der Oder-Operator || liefert den ersten oder zweiten Wert, je nachdem ob der erste irgendwie als true gewertet werden kann oder nicht.

        
      window.iPhone = window.iPhone || {};
      

      bewirkt also genau dasselbe wie

      if (window.iPhone) {  
        
        window.iPhone = window.iPhone;  
        
      } else {  
        
        window.iPhone = new Object();  
      }  
      
      

      so ähnlich wie:

      if (!window.iPhone) { window.iPhone = new Object(); }  
      
      

      Btw.:{}ist synonym mit new Object() und[] ist synonym mit new Array()

      Gruß, Don P