obj1.func called obj2.func called no such method: func obj4's prototype func called MyConstructor.prototype.func MyConstructor.prototype.func obj1.func called obj2.func called new obj3.func called new obj4.func called all new MyConstructor.prototype.func all new MyConstructor.prototype.func