на мой взгляд у вас оба варианта некорректны,
для каждого нового объекта будет создаваться новая функция, хорошо, пусть там будет не алерт, а супер мега крутая функция по вычислениям, строк эдак на ..., и каждая такая функция будет создаваться каждый раз для нового объекта, правильно будет вынести эту функцию
var SuperFunc = function() {
// n-строк
};
var Obj = function() {
this.SuperFunc = SuperFunc;
};
var o1 = new Obj();
o1.SuperFunc();
var o2 = new Obj();
o2.SuperFunc();
var Obj = function() {
this.SuperFunc = function() {
// n-строк
};
};
var o1 = new Obj();
o1.SuperFunc();
var o2 = new Obj();
o2.SuperFunc();
первый вариант съест меньше памяти