关于我的家庭作业的问题是:
创建一个名为dateUS()的函数。
此函数将接受Date对象作为参数。它将根据参数的值以“mm / dd / yyyy”格式返回一个字符串。
我写的代码是:
function getMonth(today) {
var inMo = today.getMonth();
inMo += 1;
return inMo;
}
function dateUS(inDate) {
document.write(getMonth(today) + "/" + today.getDate() + "/" + today.getFullYear());
}
我不明白“inDate”在这段代码中做了什么?而且我想知道这是否是我得到这个输出的原因:5/7/2014undefined
我不明白“接受Date对象作为参数”有人可以解释一下吗?请保持简单。这是一个Javascript 101课程,我只是在学习。非常感谢你的帮助。
答案 0 :(得分:0)
函数参数允许函数对不同的输入进行操作。在这种情况下,inDate
是调用函数时提供的参数的本地名称。所以功能应该是:
function dateUS(inDate) {
document.write(getMonth(dateUS) + '/' + dateUS.getDate() + '/' + dateUS.getFullYear());
}
如果你想写今天的日期,你可以用这种方式调用函数:
dateUS(today);
问题中没有足够的信息来解释为什么在日期之后显示undefined
。我的猜测是你在做类似的事情:
document.write(dateUS(today));
如果dateUS
返回结果而不是自己编写结果,那么这是合适的。这可能是一种更好的定义方式,但不是你如何做到的。
答案 1 :(得分:0)
函数可以访问3种类型的数据:
因此,如果您有一个将日期对象转换为字符串的函数,您要么使用全局变量(#1)要么将日期对象作为参数传递(#3)。您通常希望执行后者,因为它更灵活,并且不需要您的函数了解其周围的代码,这意味着您可以在其他项目或代码中的其他位置使用它。 / p>
例如,如果要添加两个数字,则可以编写此函数:
function add(a, b){
return a + b;
}
你会这样称呼:add(5, 6);
,它会返回11。
现在,我们可以将它扩展到日期对象。
function dateUS(date){
return date.getDate();
}
此函数将返回date
getDate
方法返回的内容,但您需要更改该方法以适合您的作业。
var date1 = new Date(); // Now
var date2 = new Date(0); // The beginning of time
alert(dateUS(date1)); // Alerts 7 (or whatever day of the month it is for you)
alert(dateUS(date2)); // Alerts 31
使用参数的好处是我们可以创建任意数量的日期对象,我们的函数将适用于所有这些。