Moin.
... ein immer noch ganz passabler code-steinbruch:
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