0

私はJavascriptが初めてで、いくつかの基本を学ぼうとしています。

以下を正しく行ったかどうかを確認していただけますか?そうでない場合は、私がまだ行っていないことの概要を教えてください。

そうしなければならなかった:

  • ユーザーの生年月日を、1 月 = 0 から 12 月 = 11 までの数値として計算します。
  • 入力された文字列を取る
  • 最初の 3 文字の部分文字列を取得する
  • 大文字に変換
  • 月の略語文字列で 3 文字の略語の開始位置を見つける
  • これを3で割ります
  • (これは月番号を見つける唯一の方法ではありませんが、文字列で検索する練習をすることができます)

私のコード:

var year = prompt('Enter year of birth as a 4 digit integer');  

var month = prompt('Enter the name of the month of birth');
// Chop everything after the first 3 characters and make it lowercase
month = month.substr(0,3).toLowerCase();
// Store your array in months, differently named than the month input
var months = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct",
"nov", "dec"];  

// We then use array.indexOf() to locate it in the array
var pos = months.indexOf(month);
if (pos >= 0) {
// valid month, number is pos
}
4

3 に答える 3

0

あなたのコードは明らかに与えられた指示に従っていません:

  • 大文字に変換
  • 月の略語文字列で 3 文字の略語の開始位置を見つける
  • これを3で割ります
  • ...文字列を検索する練習をする

ただし、ユーザーの生年月日を数値として計算するという要件は満たしています。配列検索は文字列検索よりも優れていると思います(月名の間の文字列を見つけても害はなく("anf"など)、これらの可能性をチェックしないため高速です)が、彼らはあなたにそれをやってほしいと思っているようです彼らの方法で。

于 2012-07-26T04:58:36.530 に答える
0

コードが正しいかどうかを知りたいだけだったので、適切に記述したと思ったので、JavaScript のベスト プラクティスを引き続き使用したい場合は、次のリンクを参照してください。Google で非常に多くのリンクが見つかります。

http://www.javascripttoolbox.com/bestpractices/

http://net.tutsplus.com/tutorials/javascript-ajax/24-javascript-best-practices-for-beginners/

ちなみに、機能の 1 行のコードは、次のように書くこともできます。

if(months.indexOf(month.substr(0,3))>=0) alert("present")
于 2012-07-26T04:37:48.830 に答える
0

「月の略語文字列」は"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC".

于 2012-07-26T04:38:48.963 に答える