vandy,
Пример 1:
function F(t) {
this.t = t;
}
F.prototype = {
m1: function() { alert(this.t) }
};
var f1 = new F(1);
var f2 = new F(2);
Пример 2:
function F(t) {
this.t = t;
this.m1 = function() { alert(this.t); };
}
var f1 = new F(1);
var f2 = new F(2);
В первом примере свойства f1.m и f2.m указывают на одну и ту же функцию, а значит, памяти тратится меньше. Также во втором примере методы создаются непосредственно в конструкторе, что, разумеется, работает медленнее, чем в первом примере, где в конструкторе выполняется только присваивание t.