関数のオーバーロードはできないよ
Javaを使って開発していると結構はまりがち。
以下のようなHTMLファイルを作ってみる。
<html> <head> <script type="text/javascript"> function getContent( a, b, c ) { var elem = document.getElementById('tmp'); elem.innerHTML = 'getContent(a,b,c): ( ' + a + ', ' + b + ', ' + c + ' )'; } function getContent2( a, b, c ) { var elem = document.getElementById('tmp'); elem.innerHTML = 'getContent2(a,b,c): ( ' + a + ', ' + b + ', ' + c + ' )'; } function getContent2( a, b, c, d ) { var elem = document.getElementById('tmp'); elem.innerHTML = 'getContent2(a,b,c,d): ( ' + a + ', ' + b + ', ' + c + ', ' + d + ' )'; } function getContent3( a, b, c, d ) { var elem = document.getElementById('tmp'); elem.innerHTML = 'getContent3(a,b,c,d): ( ' + a + ', ' + b + ', ' + c + ', ' + d + ' )'; } function getContent3( a, b, c ) { var elem = document.getElementById('tmp'); elem.innerHTML = 'getContent3(a,b,c): ( ' + a + ', ' + b + ', ' + c + ' )'; } </script> </head> <body> <div> <ul> <li><input type="button" value="getContent( a, b, c )" onclick="getContent('a', 'b', 'c')" /></li> <li><input type="button" value="getContent( a, b, c, d )" onclick="getContent('a', 'b', 'c', 'd')" /></li> <li><input type="button" value="getContent2( a, b, c )" onclick="getContent2('a', 'b', 'c')" /></li> <li><input type="button" value="getContent2( a, b, c, d )" onclick="getContent2('a', 'b', 'c', 'd')" /></li> <li><input type="button" value="getContent3( a, b, c )" onclick="getContent3('a', 'b', 'c')" /></li> <li><input type="button" value="getContent3( a, b, c, d )" onclick="getContent3('a', 'b', 'c', 'd')" /></li> </ul> <div id="tmp"> </div> </body> </html>
これをブラウザで表示させて、各ボタンを押したときにどういう結果が表示されるか、という問題。