Christoph: Nützliche JavaScript-Schnipsel

Beitrag lesen

Aufgrund der fehlerhaften Arbeitsweise von typeof nutze ich folgende Funktionen:

function isObject(o) {

return (typeof o === 'object' && !(o instanceof Array) && o !== null);
}
function isArray(a) {
  return (typeof a === 'object' && a instanceof Array);
}

  
Warum ist das `typeof a` in `isArray()` notwendig? Meiner Meinung nach könnte man auch `typeof o === 'object' && o !== null` zu `o instanceof Object` zusammenfassen.  
  

> Funktionen, um events hinzuzufügen / entfernen (glaube von molily im forum gepostet, leicht angepasst; habe leider keinen Thread-Verweis gespeichert)  
> [...]  
  
Habe ich auch (fast genauso) im Einsatz als Alternative zur `capture()`-Funktion. Diese ist vom Performance-Standpunkt aus ein Alptraum, aber einfach zu praktisch, um darauf zu verzichten. Statt auf das Laden des DOM-Baums zu warten, passende Elemente zu suchen und jedem einzeln Ereignis-Handler hinzuzufügen, erlaubt es `capture()`, eine kleine Testfunktion zu schreiben und den Handler einmalig global bekanntzumachen.  
  

> Ladefunktion, die eine Funktion auszuführt, sobald das Dokument verfügbar ist oder auf window.onload zurückfällt  
> [...]  
  
Siehe `onready()`. Ich habe auch eine Version, die zunächst versucht, ein 'DOMContentLoaded' Ereignis zu setzen und im IE auf 'onreadystatechange' zurückgreift. Das garantiert, dass die Funktionen /vor/ allen 'onload'-Handlern ausgeführt werden. In der Praxis war das aber nicht wirklich nötig, daher die verkürzte Variante.  
  

> Inhalt des Value-Attributes ermitteln  
> [...]  
  
Über diese Problematik bin ich bisher noch nicht gestolpert. Gut zu wissen!  
  
Christoph