flags.js 1.6 KB

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