Christoph: Typenerkennung

Beitrag lesen

Moin.

... ein immer noch ganz passabler code-steinbruch:

* [jsApi.Object.typeDetection.new.dev.js].

Ziemlich beeindruckend, deine Typerkennung. Nach Lesen dieses Artikels habe ich mir auch eine eigene Version einer typeOf-Funktion zusammengeschustert:

  
    function typeOf(value) {  
        var type = typeof value;  
        if(type === 'object') {  
            return value === null ? 'null' : Object.prototype.toString.call(value).  
                match(arguments.callee.regex)[1];  
        }  
        else return type;  
    }  
  
    typeOf.regex = /^\[(.*)\]$/;  

Diese Funktion sollte es unter anderem ermöglichen, Arrays auch über Fenstergrenzen hinweg zu erkennen (der instanceof-Operator versagt hier).

Der Rückgabewert ist bei nicht-Objekten identisch mit typeof, bei Objekten setzt er sich zusammen aus 'object ' gefolgt von der [[Class]]-Eigenschaft ('Array', 'String', 'Number', ...).

null wird extra behandelt und liefert 'null'.

Christoph