javascript でオブジェクト指向プログラミングを行う為の基礎知識をまとめます。例によって多くの間違いを含んでおります。
javascript にはクラス構文がありません。function 構文でクラスオブジェクトを作成し、new 構文でインスタンスオブジェクトを作成します。
function 構文により関数を定義すると、自動的に同名のクラスオブジェクトが作成されます。
この関数はインスタンス生成時にコンストラクタとして実行されます。
function ClassObject(){
 statement
}
クラスオブジェクトはオブジェクトなので、インスタンスを生成しなくても実行できます。(function 構文によって定義されたのだから当たり前ですが。)
function ClassObject(a){
 this.propaty1 = 0;
 this.propaty2 = a;
}
ClassObject.prototype.method = function(){
 return this.property1;
}
var co = new ClassObject(2);
var b = co.method();