JavaScriptの教本を読みながら西暦から干支(十干と十二支)を表示するページを作りました。
表示される結果は同じなのですが私が書いたソースと教本のソースが少し違ったので質問させてください。
私のソースではfunctionは1つですが教本のソースではfunctionが3つに分かれていてswitch文の最後にreturnが入っています。
PHPを少しかじっているのでなんとなくやっていることはわかるのですが、これはどういう意図でやっているのでしょうか?
この書き方のほうがいいのか、私の書き方に問題があるとすればどこか。
よろしくお願いします。
###私が書いたソース
<html> <head> <meta charset="UTF-8"> <script> function calc() { var y = document.getElementById("year").value; var e10 = ""; switch (y % 10) { case 0: e10 = "庚";break; case 1: e10 = "辛";break; case 2: e10 = "壬";break; case 3: e10 = "癸";break; case 4: e10 = "甲";break; case 5: e10 = "乙";break; case 6: e10 = "丙";break; case 7: e10 = "丁";break; case 8: e10 = "戊";break; case 9: e10 = "己";break; } var e12 = ""; switch (y % 12) { case 0: e12 = "申";break; case 1: e12 = "酉";break; case 2: e12 = "戌";break; case 3: e12 = "亥";break; case 4: e12 = "子";break; case 5: e12 = "丑";break; case 6: e12 = "寅";break; case 7: e12 = "卯";break; case 8: e12 = "辰";break; case 9: e12 = "巳";break; case 10: e12 = "午";break; case 11: e12 = "未";break; } document.getElementById("y").textContent = y; document.getElementById("e").textContent = e10 + e12; } </script> </head> <body> <h2><span id = "y"></span>年の干支は<span id = "e"></span></h2> <p> <input id="year" value="2016" /> <button onClick="calc()">計算</button> </p> </body> </html>
###教本のソース
<html> <head> <meta charset="UTF-8"> <script> function jikkan(year) { // 十干 var r = ""; switch (year % 10) { case 0: r = "庚"; break; case 1: r = "辛"; break; case 2: r = "壬"; break; case 3: r = "癸"; break; case 4: r = "甲"; break; case 5: r = "乙"; break; case 6: r = "丙"; break; case 7: r = "丁"; break; case 8: r = "戊"; break; case 9: r = "己"; break; } return r; } function junishi(year) { // 十二支 var r = ""; switch (year % 12) { case 0: r = "申"; break; case 1: r = "酉"; break; case 2: r = "戌"; break; case 3: r = "亥"; break; case 4: r = "子"; break; case 5: r = "丑"; break; case 6: r = "寅"; break; case 7: r = "卯"; break; case 8: r = "辰"; break; case 9: r = "巳"; break; case 10: r = "午"; break; case 11: r = "未"; break; } return r; } function calc() { var y = document.getElementById("year").value; var s0 = jikkan(y); var s1 = junishi(y); document.getElementById("y").textContent = y; document.getElementById("e").textContent = s0 + s1; } </script> </head> <body> <h2><span id="y"></span>年の干支は<span id="e"></span></h2> <p> <input id="year" value="2016"/> <button onclick="calc()">計算</button> </p> </body> </html>
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/23 11:06