JavaScriptでは、Javaのようなsuperキー呼び出し親クラスの同名メソッドをシミュレートします.


JavaScriptでJavaのsuperキーワード呼び出しの親をシミュレートします.
1つ目の方法(公式正統):
(function(){
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>function SuperClass(){
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>alert("SuperClass Constructor !");
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>/*this.add = function(){
<span style="white-space:pre">			</span>alert("this is SuperClass !");
<span style="white-space:pre">		</span>};*/
<span style="white-space:pre">	</span>};
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>SuperClass.prototype.add = function(){
<span style="white-space:pre">		</span>alert("this is SuperClass !");
<span style="white-space:pre">	</span>};
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>function SubClass(){
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>alert("SubClass Constructor !");
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>SuperClass.apply(this);  //          ,      
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>/*
<span style="white-space:pre">		</span>this.add = function(){
<span style="white-space:pre">			</span>alert("this is SubClass !");
<span style="white-space:pre">			</span>return SuperClass.prototype.add.apply(this, arguements);  //         add  ,  
<span style="white-space:pre">		</span>};
<span style="white-space:pre">		</span>*/
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>SubClass.prototype = new SuperClass();
<span style="white-space:pre">	</span>SubClass.prototype.constructor = SubClass;
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>SubClass.prototype.add = function(){
<span style="white-space:pre">		</span>alert("this is SubClass >> prefix !");
<span style="white-space:pre">		</span>SuperClass.prototype.add.apply(this);  //         add  ,  
<span style="white-space:pre">		</span>alert("this is SubClass >> suffix !");
<span style="white-space:pre">	</span>};
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>new SubClass().add();


}());


/*
*  SubClass SuperClass   this     add       :
* <span style="white-space:pre">	</span>》》 SuperClass Constructor !
* <span style="white-space:pre">	</span>》》 SubClass Constructor !
* <span style="white-space:pre">	</span>》》 SuperClass Constructor !
* <span style="white-space:pre">	</span>》》 this is SubClass !
* 
* 
*  SubClass      add  ,SuperClass   this     add       
* <span style="white-space:pre">	</span>》》 SuperClass Constructor !
* <span style="white-space:pre">	</span>》》 SubClass Constructor !
* <span style="white-space:pre">	</span>》》 SuperClass Constructor !
* <span style="white-space:pre">	</span>》》 this is SuperClass !
* 
*            ,     :
* <span style="white-space:pre">	</span>》》 SuperClass Constructor !
* <span style="white-space:pre">	</span>》》 SubClass Constructor !
* <span style="white-space:pre">	</span>》》 SuperClass Constructor !
* <span style="white-space:pre">	</span>》》this is SubClass >> prefix !
* <span style="white-space:pre">	</span>》》 this is SuperClass !
* <span style="white-space:pre">	</span>》》this is SubClass >> suffix !
*/

 第2の方法(個人実験):サブクラスに親と同じ名前のメソッドが現れる場合、親の同じ名前のメソッドの論理を再利用したい場合は、サブクラスのメソッドをインスタンスメソッドとして定義し、サブクラスのprototypeプロパティにメソッドを追加しません.これにより、サブクラスの同名インスタンスメソッドで「サブクラス名.prototype.親クラス同名メソッド名」を使用すると、Javaでのsuper()の実装をシミュレートできます.
function SuperClass(){
<span style="white-space:pre">	</span>
}


SuperClass.prototype.func = function(){
<span style="white-space:pre">	</span>alert("SuperClass's func");
};


function SubClass(){
<span style="white-space:pre">	</span>this.func = function(){ //     
<span style="white-space:pre">		</span><strong>SubClass.prototype.func();  //    Java  super   </strong>
<span style="white-space:pre">		</span>alert("SubClass Instance Function ! ");
<span style="white-space:pre">	</span>};
};


SubClass.prototype = new SuperClass();


SubClass.func = function(){  //         
<span style="white-space:pre">	</span>alert("SubClass's Function !");
};


window.onload = function(){
<span style="white-space:pre">	</span>new SuperClass().func();
<span style="white-space:pre">	</span>new SubClass().func();
<span style="white-space:pre">	</span>SubClass.func();<span style="white-space:pre">			</span>//    SubClass    
<span style="white-space:pre">	</span>SubClass.prototype.func();  //   SuperClass  func()
<span style="white-space:pre">	</span>new SuperClass().func();
};

この方式は実現できるが、まだ検証が必要だ.