Стилистически, я предпочитаю эту структуру:
var Filter = function( category, value ){
this.category = category;
this.value = value;
// product is a JSON object
Filter.prototype.checkProduct = function( product ){
// run some checks
return is_match;
}
};
К этой структуре:
var Filter = function( category, value ){
this.category = category;
this.value = value;
};// var Filter = function(){...}
Filter.prototype.checkProduct = function( product ){
// run some checks
return is_match;
}
Функционально, существуют ли какие-либо недостатки для структурирования моего кода таким образом? Будет ли добавление прототипического метода к объекту-прототипу внутри тела функции конструктора (т.е. До закрытия оператора выражения функции конструктора) вызывает непредвиденные проблемы с определением области видимости?
Я использовал первую структуру раньше с успехом, но я хочу убедиться, что я не настроен на головную боль отладки или не вызвал серьезного гонения разработчиков и ухудшения из-за плохой практики кодирования.