Javascript代码 - 代码检查

时间:2012-07-26 04:15:13

标签: javascript

我是Javascript的新手,并尝试学习一些基础知识。

请检查我是否正确完成了以下操作?如果没有,请概述我尚未做的事情。

我必须:

  • 将用户的出生月份计算为1月= 0到12月= 11的数字。
  • 输入字符串
  • 获取子字符串为前三个字符
  • 转换为大写
  • 在月份缩写字符串
  • 中查找三个字母缩写的起始位置
  • 除以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
}

3 个答案:

答案 0 :(得分:0)

因为你只是想知道你的代码是否正确,但我认为你写的正确,如果你仍然想要使用javascript的最佳实践,你可以参考以下链接,你会发现这么多链接谷歌。

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

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

顺便提一下,您的功能的一行代码也可以写成:

if(months.indexOf(month.substr(0,3))>=0) alert("present")

答案 1 :(得分:0)

“月份缩写字符串”应为"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"

答案 2 :(得分:0)

您的代码显然不遵循指定的说明:

  • 转换为大写
  • 在月份缩写字符串
  • 中查找三个字母缩写的起始位置
  • 除以3
  • ...练习用字符串搜索

但确实符合计算用户出生​​月份的要求。我认为数组搜索甚至优于字符串搜索(通过在月份名称之间找到字符串("anf"等)没有害处,并且因为没有检查这些可能性而更快),但他们似乎希望你这样做他们的方式。