flags.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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 doEval(str)
  7. {
  8. //write(str);
  9. write(str + " : " + eval(str));
  10. }
  11. var overwrite = "hello";
  12. write("Global object builtin properties");
  13. var globProps = [ "NaN", "Infinity", "undefined"];
  14. for(var i=0;i<globProps.length;i++)
  15. {
  16. doEval("delete " + globProps[i]);
  17. doEval(globProps[i]);
  18. }
  19. for(var i=0;i<globProps.length;i++)
  20. {
  21. doEval(globProps[i] + "= \"hello\";");
  22. doEval(globProps[i]);
  23. }
  24. write("Math Object builtin properties");
  25. var mathProps = ["PI", "E", "LN10", "LN2", "LOG2E", "LOG10E", "SQRT1_2", "SQRT2"];
  26. for(var i=0;i<mathProps.length;i++)
  27. {
  28. doEval("Math." + mathProps[i] + " = overwrite");
  29. doEval("Math." + mathProps[i]);
  30. }
  31. for(var i=0;i<mathProps.length;i++)
  32. {
  33. doEval("delete Math." + mathProps[i]);
  34. doEval("Math." + mathProps[i]);
  35. }
  36. write("Number Object builtin properties");
  37. var numberProps = ["MAX_VALUE", "MIN_VALUE", "NaN", "NEGATIVE_INFINITY", "POSITIVE_INFINITY"];
  38. for(var i=0;i<numberProps.length;i++)
  39. {
  40. doEval("Number." + numberProps[i] + " = overwrite");
  41. doEval("Number." + numberProps[i]);
  42. }
  43. for(var i=0;i<mathProps.length;i++)
  44. {
  45. doEval("delete Number." + numberProps[i]);
  46. doEval("Number." + numberProps[i]);
  47. }