instanceof.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function write(v) { WScript.Echo(v + ""); }
  6. function foo() {}
  7. function bar() {} ;
  8. var fncs = [ "Object", "Function", "Array", "String", "Number", "Boolean", "Date", "RegExp", "foo", "bar"] ;
  9. var f = new foo();
  10. var b = new bar();
  11. var objs = [ "new Object()",
  12. "f", "b", "foo", "String.fromCharCode", "Array.prototype.concat",
  13. "[1,2,3]", "new Array()", "fncs",
  14. "'hello'", "new String('world')",
  15. "10", "10.2", "NaN", "new Number(3)",
  16. "true", "false", "new Boolean(true)", "new Boolean(false)",
  17. "new Date()",
  18. "/a+/"
  19. ];
  20. function check(str)
  21. {
  22. try {
  23. write(str + " : " + eval(str));
  24. } catch (e) {
  25. write(" Exception: " + str + ". " + e.message);
  26. }
  27. }
  28. for (var i=0; i<objs.length ; i++) {
  29. for (var j=0; j<fncs.length; j++) {
  30. check(objs[i] + " instanceof " + fncs[j]);
  31. }
  32. }
  33. var count = 0;
  34. for (var i=0; i<objs.length ; i++) {
  35. for (var j=0; j<objs.length; j++) {
  36. check(objs[i] + " instanceof " + objs[j]);
  37. }
  38. }