function Dog() {
this.bark = function() { console.log('わん'); };
}

function Dog() {}
Dog.prototype.bark = function() { console.log('わん'); };

var dog = new Dog();
dog.bark();

var dog2 = new Dog();
dog2.bark();

JavaScript でも、上の書き方をすると、
各インスタンス毎に、関数が作られるから無駄

下のように、prototype、つまり、1階層上・親クラスに、関数を持たせる