am_sasa, у вас в обеих вариантах каждый раз создаются новые функции.
Используйте прототипы:
function F(id, a, b) {
this.id = id;
this.a = a;
this.b = b;
};
F.prototype = {
getID: function() {
return this.id;
},
getSum: function() {
return this.a + this.b;
}
};