v1
2/14/2020 by Matthew 2/17/202000
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript
  var definedPropertyValue = function () {
    Object.defineProperty(this, "prop", {
      value: 1, 
    });
  }
  var definedPropertyGetter = function () {
    Object.defineProperty(this, "prop", {
       enumerable: true,
       configurable: true,
       get() { return this.prop_ },
    });
    this.prop_ = 1;
  }
  

  var regularProperty = function () {
    this.prop = 1;
  }
  
  var regularGetter = function () {
    Object.assign(this, {
      get prop() { return this.prop_; }
    });
    this.prop_ = 1;
  }

  var regularFunctionCall = function () {
    this.get = function(name) {
      return this[name];
    };
    this.prop = 1;
  }

  var count = 50000;
  var definedValues = new Array(count);
  var definedGetters = new Array(count);
  var regulars = new Array(count);
  var regularGetters = new Array(count);
  var regularGetterFunctions = new Array(count);

  for (var i = 0; i < count; i++) {
    definedValues[i] = new definedPropertyValue();
    definedGetters[i] = new definedPropertyGetter();
    regulars[i] = new regularProperty();
    regularGetters[i] = new regularGetter();
    regularGetterFunctions[i] = new regularFunctionCall();
  }
delete caserun single casemove downdrag and drop case


ready



var sum = 0;
for (var i = 0, a = definedValues; i < count; i++) {
  sum += a[i].prop;
}
delete caserun single casemove upmove downdrag and drop case


ready



var sum = 0;
for (var i = 0, a = definedGetters; i < count; i++) {
  sum += a[i].prop;
}
delete caserun single casemove upmove downdrag and drop case


ready



var sum = 0;
for (var i = 0, a = regulars; i < count; i++) {
  sum += a[i].prop;
}
delete caserun single casemove upmove downdrag and drop case


ready



var sum = 0;
for (var i = 0, a = regularGetters; i < count; i++) {
  sum += a[i].prop;
}
delete caserun single casemove updrag and drop case


ready



var sum = 0;
for (var i = 0, a = regularGetterFunctions; i < count; i++) {
  sum += a[i].prop;
}
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN