jsで継承

function b(k){
this.p = k;
}

b.prototype.hello = function(){
alert(this.p);
}

function s(){}

s.prototype = new b('hello');

var g = new s();
g.hello();

prototypeプロパティを使うやりかた。
300行くらいの小さなプログラムはこのやり方をよく見る気がする。
あとはオブジェクトのprototype.constructorにオブジェクトを代入して返す方法。
どっちがいいだろうか。