<html> <head><title>Verify instanceof checking</title></head> <body> <h1>Check instanceof behaviour</h1> <table cellpadding=2 border=1> <tr><th>A</th><th>instanceof</th><th>B</th><th>?</th><th>Correct?</th></tr> <noscript><p>Javascript is disabled</p></noscript> <script> var checks = [ [ "window", "Window", true ], [ "document", "HTMLDocument", true ], [ "document.head", "Node", true ], [ "document.getElementsByTagName(\"body\")", "HTMLCollection", true ], [ "document.body", "Window", false ], [ "EventListener", "Object", undefined ], ]; for (var _check in checks) { var check = checks[_check]; document.write("<tr>"); document.write("<td>" + check[0] + "</td><td>instanceof</td><td>" + check[1] + "</td>"); try { var A = eval(check[0]); var B = eval(check[1]); var C = check[2]; var V = A instanceof B; var OK = V == C; document.write("<td>" + V + "</td><td>" + (OK ? "YES" : "<b style=\"color: red\">NO</b>") + "</td>"); } catch (e) { if (check[2] == undefined) { document.write("<td>" + e + "</td><td>YES</td>"); } else { document.write("<td colspan=2><b style=\"color: red\">" + e + "</b></td>"); } } document.write("</tr>"); } </script> </table> </body> </html>