You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							42 lines
						
					
					
						
							1.3 KiB
						
					
					
				<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>
 |