我刚接触过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
}发布于 2012-07-26 04:58:36
您的代码显然没有遵循给定的说明:
但满足了将用户的出生月份作为一个数字计算的要求。我认为数组搜索甚至优于字符串搜索(通过在月份名称("anf"等)之间查找字符串没有坏处,也因为没有检查这些可能性而更快),但是他们似乎希望您用他们的方式来完成。
发布于 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/
顺便说一句,功能的一行代码也可以编写成:
if(months.indexOf(month.substr(0,3))>=0) alert("present")发布于 2012-07-26 04:38:48
“月份缩写字符串”应该是"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"。
https://stackoverflow.com/questions/11662255
复制相似问题