首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript代码-代码检查

Javascript代码-代码检查
EN

Stack Overflow用户
提问于 2012-07-26 04:15:12
回答 3查看 215关注 0票数 0

我刚接触过Javascript,并试图学习一些基础知识。

你能检查一下我是否正确地做了下面的事情吗?如果没有,请概述一下我还在做什么。

我不得不:

  • 将用户的出生月份计算为January=0通过December=11的数字。
  • 取下输入的字符串
  • 获取子字符串为前三个字符
  • 转换为大写
  • 在月份缩写字符串中查找三个字母缩写的起始位置。
  • 除以3
  • (这不是找到月份号的唯一方法,但它允许我们练习在字符串中搜索)

我的代码:

代码语言:javascript
复制
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
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-26 04:58:36

您的代码显然没有遵循给定的说明:

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

但满足了将用户的出生月份作为一个数字计算的要求。我认为数组搜索甚至优于字符串搜索(通过在月份名称("anf"等)之间查找字符串没有坏处,也因为没有检查这些可能性而更快),但是他们似乎希望您用他们的方式来完成。

票数 0
EN

Stack Overflow用户

发布于 2012-07-26 04:37:48

因为你只是想知道你的代码是否正确,但我认为你写得很好,如果你仍然想使用javascript的最佳实践,你可以参考下面的链接,你会在google上找到这么多的链接。

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

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

顺便说一句,功能的一行代码也可以编写成:

代码语言:javascript
复制
if(months.indexOf(month.substr(0,3))>=0) alert("present")
票数 0
EN

Stack Overflow用户

发布于 2012-07-26 04:38:48

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11662255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档