forInObjectAdd.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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(args)
  6. {
  7. if(typeof(WScript) == "undefined")
  8. print(args);
  9. else
  10. WScript.Echo(args);
  11. }
  12. write("Scenario 1: Adding properties on the fly");
  13. var x = { a: 1, b: 2};
  14. for(var i in x)
  15. {
  16. if(x[i] == 2)
  17. {
  18. x.c = 3;
  19. x.d = 4;
  20. }
  21. write(x[i]);
  22. }
  23. write("Scenario 2: Large number of properties in forin");
  24. var largeObj = {};
  25. for(var k=0; k < 25; k++)
  26. {
  27. largeObj["p"+k] = k + 0.3;
  28. }
  29. for(var i in largeObj)
  30. {
  31. write(largeObj[i]);
  32. }
  33. write("Sceanrio 3: Nested Forin");
  34. var outerObj = { a: 3, b: 4, c: 5 };
  35. var innerObj = { a: 3, b: 4, c: 5 };
  36. for(var i in outerObj)
  37. {
  38. write(i);
  39. for(var j in innerObj)
  40. {
  41. write(j);
  42. }
  43. }
  44. write("Scenario 4: Properties and numerical indices in object");
  45. var objWithNumber= { a: 12, b: 13, c:23 };
  46. objWithNumber[13] = "Number13";
  47. objWithNumber[15] = "Number15";
  48. for(var i in objWithNumber)
  49. {
  50. write(objWithNumber[i]);
  51. }
  52. var undef;
  53. for(var i in undef)
  54. {
  55. write("FAILED: Entering enumeration of undefined");
  56. }
  57. var nullValue = null;
  58. for(var i in nullValue)
  59. {
  60. write("FAILED: Entering enumeration of null value");
  61. }
  62. var integer = 3;
  63. for(var i in integer)
  64. {
  65. write("FAILED: Entering enumeration of integer");
  66. }
  67. var double = 3.4;
  68. for(var i in double)
  69. {
  70. write("FAILED: Entering enumeration of double");
  71. }