//------------------------------------------------------------------------------------------------------- | |
// Copyright (C) Microsoft. All rights reserved. | |
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
//------------------------------------------------------------------------------------------------------- | |
function write(args) | |
{ | |
if(typeof(WScript) == "undefined") | |
print(args); | |
else | |
WScript.Echo(args); | |
} | |
write("Scenario 1: Adding properties on the fly"); | |
var x = { a: 1, b: 2}; | |
for(var i in x) | |
{ | |
if(x[i] == 2) | |
{ | |
x.c = 3; | |
x.d = 4; | |
} | |
write(x[i]); | |
} | |
write("Scenario 2: Large number of properties in forin"); | |
var largeObj = {}; | |
for(var k=0; k < 25; k++) | |
{ | |
largeObj["p"+k] = k + 0.3; | |
} | |
for(var i in largeObj) | |
{ | |
write(largeObj[i]); | |
} | |
write("Sceanrio 3: Nested Forin"); | |
var outerObj = { a: 3, b: 4, c: 5 }; | |
var innerObj = { a: 3, b: 4, c: 5 }; | |
for(var i in outerObj) | |
{ | |
write(i); | |
for(var j in innerObj) | |
{ | |
write(j); | |
} | |
} | |
write("Scenario 4: Properties and numerical indices in object"); | |
var objWithNumber= { a: 12, b: 13, c:23 }; | |
objWithNumber[13] = "Number13"; | |
objWithNumber[15] = "Number15"; | |
for(var i in objWithNumber) | |
{ | |
write(objWithNumber[i]); | |
} | |
var undef; | |
for(var i in undef) | |
{ | |
write("FAILED: Entering enumeration of undefined"); | |
} | |
var nullValue = null; | |
for(var i in nullValue) | |
{ | |
write("FAILED: Entering enumeration of null value"); | |
} | |
var integer = 3; | |
for(var i in integer) | |
{ | |
write("FAILED: Entering enumeration of integer"); | |
} | |
var double = 3.4; | |
for(var i in double) | |
{ | |
write("FAILED: Entering enumeration of double"); | |
} |