javascript利用arguments實現方法重載機制


javascript支持方法的重寫,但是沒有方法重載機制,那么可以模仿重載機制嗎?答案是肯定的。

(在這里補充一下重寫和重載的區別,筆者曾幾何時一度混淆。重寫是子類覆蓋父類的方法,方法名/參數列表/函數返回類型 必須相同;重載是同一個類中多個方法實現,方法名必須相同,參數列表必須不同,返回類型可以不同 )

利用全局變量arguments可以實現,arguments是類數組,通過判斷傳入參數的長度可以訪問到參數列表的值。

舉例說明:

      function doAdd(){
if(arguments.length==1){
alert(arguments[0]+10);
}else if(arguments.length==2){
alert(arguments[0]+arguments[1]);
}
}


doAdd(10); //outputs "20"
doAdd(30,20);//outputs "50"




注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com