Есть два варианта определения функции конструктора и его методов прототипа.
В чём их принципиальная разница? На сколько корректно пользоваться вариантом 2? Могут ли при этом встретиться какие-то подводные камни?
function Obj(prop1, prop2) {
this.p1 = prop1;
this.p2 = prop2;
}
Obj.prototype.greet = function() {
alert(this.p1);
}
Obj.prototype.getP2 = function() {
return this.p2;
}
function Obj(prop1, prop2) {
this.p1 = prop1;
this.p2 = prop2;
}
Obj.prototype = {
greet : function() {
alert(this.p1);
},
getP2 : function() {
return this.p2;
}
}