| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- function def_prop_array()
- {
- var array = [];
- Object.defineProperty(array, 0, { get: function() { WScript.Echo("array[0]"); } });
- var sum = 0;
- for (var i = 0; i < 3; i++)
- {
- sum += array[0];
- }
- }
- function def_prop_object()
- {
- var object = {};
- Object.defineProperty(object, "sum", { get: function() { WScript.Echo("sum"); } });
- var sum = 0;
- for (var i = 0; i < 3; i++)
- {
- sum += object.sum;
- }
- }
- function def_props_array()
- {
- var array = [];
- Object.defineProperties(array,
- {
- 0: { get: function() { WScript.Echo("array[0]"); } },
- 1: { get: function() { WScript.Echo("array[1]"); } }
- });
- var sum = 0;
- for (var i = 0; i < 3; i++)
- {
- sum += array[0];
- }
- }
- function def_props_object()
- {
- var object = {};
- Object.defineProperties(object,
- {
- sum1: { get: function() { WScript.Echo("sum1"); } },
- sum2: { get: function() { WScript.Echo("sum2"); } }
- });
- var sum = 0;
- for (var i = 0; i < 3; i++)
- {
- sum += object.sum1;
- }
- }
- function def_props_number()
- {
- function diag() {
- WScript.Echo("Type: " + (typeof this));
- WScript.Echo(" Is Object: " + (this instanceof Object));
- WScript.Echo(" Is Number: " + (this instanceof Number));
- }
- Object.defineProperty(
- Number.prototype,
- "foo",
- {
- set: diag
- });
- Object.defineProperty(
- Number.prototype,
- "42",
- {
- set: diag
- });
- var runTests = function(obj) {
- WScript.Echo("** Testing property 'foo'");
- obj.foo = {};
- WScript.Echo("");
- WScript.Echo("** Testing property 42");
- obj[42] = {};
- WScript.Echo("");
- }
- var i = 3;
- runTests(i);
- var d = 3.14;
- runTests(d);
- }
- function main()
- {
- def_prop_array();
- def_prop_object();
- def_props_array();
- def_props_object();
- def_props_number();
- }
- main();
|