コンストラクターとして and オブジェクトを作成する場合とリテラル表記でオブジェクトを作成する場合の違いと、それぞれの定義をどのような場合に使用した方がよいかは理解できますが、次の 2 つの場合の違いがわかりません。
function Obj(){
this.foo = function(){...}
}
function Obj(){}
Obj.prototype.foo = function(){...}
どちらも同じことをしています。どちらも同じものを使用してインスタンス化されますvar objNew = new obj();
では、どのような違いがあり、それぞれの概念をいつ使用するのでしょうか?