Der Martin: Namespace?

Beitrag lesen

Hallo,

// define a namespace to hold our widget specific functions,

// avoid polluting the global namespace
var helloWorld = helloWorld || {};

  
das ist spaßig: Da wird eine lokale Variable "helloWorld" angelegt, und ihr wird entweder der Wert von "helloWorld" zugewiesen, falls das bereits existiert, ansonsten ein "leeres" Objekt.  
  

> ich habe versucht nach "Namespace" zu googeln, doch waren die ergebnisse anders - was ist das für "|| {}"?  
  
Das sind drei Tricks in einem. Einerseits ist || der logische ODER-Operator. Andererseits ist er so definiert, dass a||b a zurückgibt, wenn a existiert und nicht Null ist, andernfalls b. Dazu kommt noch, dass der Ausdruck {} das gleiche ist wie new Object().  
  

> ~~~javascript

var tooltip=tooltip||{};  

>   
> tooltip.makebox=function(){  
> ...  
> }

Soweit korrekt.

es heißt (logischerweise) in der Fehlermeldung "UNdefined variable 'Tooltip'"

Ja, weil "tooltip" nicht dasselbe ist wie "Tooltip".

So long,
 Martin

--
Viele Fachleute vertreten die Ansicht, jedes Feature eines Programms, das sich nicht auf Wunsch abstellen lässt, sei ein Bug.
Außer bei Microsoft. Da ist es umgekehrt.