Почему функция общего прототипа не работает в разных конструкторах (ОСТОРОЖНО, НОВИЧОК!)?
Прототипы First и Second это два разных объекта, хоть и выглядят одинаково "Object {}"
Поэтому метод, добавленный в прототип First, доступен в его экземпляре a и недоступен в экземпляре b Second.
Не очень хороший способ, но кто мешает расширить прототип родителя? Вот таким греховным образом числа в моем приложении обретают формат:/*    Метод format конструктора Number >>>
 *    Расширение прототипа
 *
 *    Метод позволяет задавать число знаков после запятой и
 *    Вводить знак валют до или после значения.
 *
 *    Пример работы:    (123456789.12345).format(2, 2, '—', '=')
 *        возвращает:    1—23—45—67—89=12
 *
 *    Все экземпляры Number наследуются от Number.prototype.
 */
Number.prototype.format = function (n, x, s, c) {
    var re = '\\d(?=(\\d{' + (x || 3) + '})+' + (n > 0 ? '\\D' : '$') + ')';
    var num = this.toFixed(Math.max(0, ~~n));

    return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));
};
И так вот используются:Number(condPriceMin).format(0, 3, '&nbsp', '.') + '<i class="fa fa-rub"></i>';