Test case details

Preparation Code

function TraditionalPrototypeClass() {     }     TraditionalPrototypeClass.prototype.foo = function() {     };     TraditionalPrototypeClass.prototype.bar = function() {     };         var o1 = new TraditionalPrototypeClass();         function Constructor() {         this.foo = function() {         };                 this.bar = function() {         };     }     var o2 = new Constructor();         var o6 = (function () {             return {             foo: function () {},             bar: function () {}         }     })();         var o3 = (function () {         var foo = function () {};             var bar = function () {};                 return {             foo: foo,             bar: bar         }     })();         var standardObject = {         foo: function(){         },         bar: function(){         }     };     var o4 = standardObject;         var o5 = {         foo: function(){         },         bar: function(){         }     };         function foo(){     }     function bar(){     }

Test cases

Test #1

o1.bar; o1.foo;

Test #2

o2.bar; o2.foo;

Test #3

o3.bar; o3.foo;

Test #4

o4.bar; o4.foo;

Test #5

o5.bar; o5.foo;

Test #6

o6.bar; o6.foo;

Test #7

bar(); foo();