JS是否存在方法重載


java里面是存在重載的,那么js中呢?這個問題面試的時候會經常遇到。但是可以肯定的說,js中是不存在重載的,但是我們可以通過其他的方式來模擬重載,我們可以通過argument方法來實現。
argument是系統自帶的一個方法,它是一個數組,並且用來存儲函數傳遞的參數值。例如,我們定義一個function函數如下,並采用三種參數調用。
    function add1(a,b){ alert(arguments.length); //把傳遞的參數保存到了argument的數組里面 return a+b; } alert(add1(1,2)); alert(add1(1,2,3)); alert(add1(1,2,3,4));

 

  alert(arguments.length)的結果分別是2,3,4。

 

 

因此我們可以通過argument變量來模擬函數的重載。具體代碼如下:

<html> <head> <title>HTML示例</title> <style type="text/css"> </style> </head> <body> <script type="text/javascript"> function add1(a,b){ alert(arguments.length); //把傳遞的參數保存到了argument的數組里面 switch(arguments.length) { case 2: return arguments[0]+arguments[1];break; case 3: return arguments[0]+arguments[1]+arguments[2];break; case 4: return arguments[0]+arguments[1]+arguments[2]+arguments[3];break; default: return 0; } } alert(add1(1,2)); alert(add1(1,2,3)); alert(add1(1,2,3,4)); </script> </body> </html> 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM