JavaScript不支援函數重載__區塊鏈

來源:互聯網
上載者:User
在學習JavaScript的過程中發現一個很有趣的問題:初學者剛開始學習的時候覺得Javascript和Java很相近,除了Javascript是弱類型語言外;但是有趣的是Javascript並不支援函數的重載,如果像Java那樣寫出函數重載Javascript並不會報錯,這就是有趣的地方了---不支援但又不算錯誤。那麼對於同名的函數,當調用時只是簡單的調用最後一個函數,就像是最後的一個函數把前面的同名函數全部覆蓋掉了。可以看一個例子:
function test(a, b, c){return a+b+c;}function test(a, b){return a+b;}function test(){return "Hello world";}window.alert(test(1,2,3));window.alert(test(1,2));window.alert(test());
 

三個對函數的調用都是調用了最後一個test()函數,彈出“Hello world”。。。
其實我覺得本來Javascript的函數都是支援可變參數個數,而且又是弱類型語言,從這兩點來看是不會支援函數重載的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.