<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Silly Questions</title>
<script type="text/javascript"
src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.js"></script>
<script type="text/javascript">
$(function () {
function createXmlDoc() {
if (window.ActiveXObject) {
var xd = new ActiveXObject("Microsoft.XMLDOM");
xd.async = false;
xd.loadXML("<root />");
return xd;
} else if (typeof DOMParser != "undefined") {
var xd =
new DOMParser().parseFromString("<root />", "text/xml");
return xd;
}
else return null;
}
var pool =
{
"number": 1,
"string": "Darkthread",
"boolean": true,
"object": { name: "Darkthread" },
"xmldoc": createXmlDoc(),
"window": window,
"null": null,
"undefined": undefined,
"array": [1, 2, 3],
"function": function () { return; },
"element": document.getElementById("x"),
"jQuery": $("#x")
}
function detectType(x) {
if (x === null)
return "null";
else if (x === undefined)
return "undefined";
else if (x instanceof jQuery)
return "jQuery object";
else if ($.isArray(x))
return "array";
else if ($.isFunction(x))
return "function";
else if ($.isPlainObject(x))
return "plain object";
else if ($.isWindow(x))
return "window";
else if ($.isXMLDoc(x))
return "XML document";
else if (x.nodeType == 1 && x.tagName)
return "<" + x.tagName + ">";
else
return typeof x;
}
var result =
$.map(pool, function (value, key) {
return key + " => " + detectType(value);
});
alert(result.join("\n"));
});
</script>
</head>
<body>
<span id='x'></span>
</body>
</html>