Стилистически, я предпочитаю эту структуру:
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;
}
Функционально, существуют ли какие-либо недостатки для структурирования моего кода таким образом? Будет ли добавление прототипического метода к объекту-прототипу внутри тела функции конструктора (т.е. До закрытия оператора выражения функции конструктора) вызывает непредвиденные проблемы с определением области видимости?
Я использовал первую структуру раньше с успехом, но я хочу убедиться, что я не настроен на головную боль отладки или не вызвал серьезного гонения разработчиков и ухудшения из-за плохой практики кодирования.
