Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
请解释本Javascript教程_Javascript - Fatal编程技术网

请解释本Javascript教程

请解释本Javascript教程,javascript,Javascript,我是一个完全的新手,我对这个教程感到困惑。我知道,至少我认为我知道函数getDate、getMonth和getFullYear是由JavaScript确定的预设函数 如果将新日期2000,0,1作为formatDate的参数提交,为什么本教程需要这些预设函数?getDate是否与作为参数提交的数字有冲突 在function pad中,我知道数字检查一个数字是否小于10,如果小于10,则添加一个零,但提交给function pad的参数是什么?它是如何得到要检查的数字的 你能带我一步一步地用通俗易

我是一个完全的新手,我对这个教程感到困惑。我知道,至少我认为我知道函数getDate、getMonth和getFullYear是由JavaScript确定的预设函数

如果将新日期2000,0,1作为formatDate的参数提交,为什么本教程需要这些预设函数?getDate是否与作为参数提交的数字有冲突

在function pad中,我知道数字检查一个数字是否小于10,如果小于10,则添加一个零,但提交给function pad的参数是什么?它是如何得到要检查的数字的

你能带我一步一步地用通俗易懂的语言完成这个教程吗?谢谢你

function formatDate(date) {
  function pad(number) {
    if (number < 10)
      return "0" + number;
    else
      return number;
  }
  return pad(date.getDate()) + "/" + pad(date.getMonth() + 1) +
             "/" + date.getFullYear();
}
print(formatDate(new Date(2000, 0, 1)));

此函数用于格式化和打印日期

pad功能是将0添加到小于10的数字前面,而不是添加10

这允许您以dd/mm/yyyy格式打印日期。 例如,2011年2月3日将打印为2011年2月3日,而不是2011年2月3日

在formatDate函数中,最后一行是return pad。。。。 formatDate函数中的pad函数接受每个日期部分,并将其发送到padding函数,以在0之前加上前缀,以确保后面跟随mm/dd,而不是可能发送一个单位数变量,例如2011年3月2日

function formatDate(date) { // date is passed here
  function pad(number) {    // note that this function is defined within the outer function
    if (number < 10)
      return "0" + number; // prepend a 0 if number is less than 10
    else
      return number; // if number is greater than 10, no prepending necessary
  }  // the pad function ends here 
  return pad(date.getDate()) + "/" + pad(date.getMonth() + 1) +
             "/" + date.getFullYear(); // note how the pad is used around the "date" and "month" only 
} // the formatDate function ends here
print(formatDate(new Date(2000, 0, 1)));
转换为假设日期为2011年2月23日

 return pad(23) + "/" + pad(1 + 1) +  "/" + 2011;
这将调用pad23-并将23替换为pad函数中的number变量。无需更改,返回23

pad1+1=pad2-和2被替换为pad函数中的数字变量。它附加0并返回02

所以,最后的转换是

return 23 + "/" + 02 + "/" + 2011;

它将于2011年2月23日打印出来。

此函数将格式化并打印日期

pad功能是将0添加到小于10的数字前面,而不是添加10

这允许您以dd/mm/yyyy格式打印日期。 例如,2011年2月3日将打印为2011年2月3日,而不是2011年2月3日

在formatDate函数中,最后一行是return pad。。。。 formatDate函数中的pad函数接受每个日期部分,并将其发送到padding函数,以在0之前加上前缀,以确保后面跟随mm/dd,而不是可能发送一个单位数变量,例如2011年3月2日

function formatDate(date) { // date is passed here
  function pad(number) {    // note that this function is defined within the outer function
    if (number < 10)
      return "0" + number; // prepend a 0 if number is less than 10
    else
      return number; // if number is greater than 10, no prepending necessary
  }  // the pad function ends here 
  return pad(date.getDate()) + "/" + pad(date.getMonth() + 1) +
             "/" + date.getFullYear(); // note how the pad is used around the "date" and "month" only 
} // the formatDate function ends here
print(formatDate(new Date(2000, 0, 1)));
转换为假设日期为2011年2月23日

 return pad(23) + "/" + pad(1 + 1) +  "/" + 2011;
这将调用pad23-并将23替换为pad函数中的number变量。无需更改,返回23

pad1+1=pad2-和2被替换为pad函数中的数字变量。它附加0并返回02

所以,最后的转换是

return 23 + "/" + 02 + "/" + 2011;

这是一个关于如何以DD/MM/YYYY格式显示日期的教程。它创建一个日期,然后将其提交给函数formatDate,该函数以该格式返回该日期,然后将其打印到屏幕上

formatDate有一个名为pad的内部函数。这确保在每个项目的开头有足够数量的零。例如,如果日期是2000年1月1日,那么程序员想要的是2000年1月1日。pad将零添加到月和日,因为它们都小于10。它将1添加到getMonth,因为在Javascript日期对象中,月份是零索引的:0是一月,1是二月,等等

getDate、getMonth和getFullYear是Date类的对象方法。如果您是面向对象编程的新手,我建议您从探索面向对象编程开始,以了解对象。大体上,对象是一种数据类型,它也有处理该数据的方法。日期对象具有getDate、getMonth和getFullYear对象方法,用于返回日期的这些部分


这段代码很好,但是如果您试图进行更复杂的日期解析,您可能需要查看。

这是一个关于如何以DD/MM/YYYY格式显示日期的教程。它创建一个日期,然后将其提交给函数formatDate,该函数以该格式返回该日期,然后将其打印到屏幕上

formatDate有一个名为pad的内部函数。这确保在每个项目的开头有足够数量的零。例如,如果日期是2000年1月1日,那么程序员想要的是2000年1月1日。pad将零添加到月和日,因为它们都小于10。它将1添加到getMonth,因为在Javascript日期对象中,月份是零索引的:0是一月,1是二月,等等

getDate、getMonth和getFullYear是Date类的对象方法。如果您是面向对象编程的新手,我建议您从探索面向对象编程开始,以了解对象。大体上,对象是一种数据类型,它也有处理该数据的方法。日期对象具有getDate、getMonth和getFullYear对象方法,用于返回日期的这些部分

这段代码很好,但如果您试图进行更复杂的日期解析,您可能需要查看。

最后一行说: PrintFormatDateNewDate2000,0,1

它有括号,所以你需要像这样倒读:

(2000, 0, 1) // make a list of 3 numbers to pass to a function
Date(2000, 0, 1) // call the Date function
new Date(2000, 0, 1) // since Date is a builtin object, tell it that is is constructing a new object or you risk hard to find bugs
(new Date(2000, 0, 1)) // pass the new Date object to the formatDate function
print(formatDate(new Date(2000, 0, 1))); // pass the result of formatDate, a String object, to the print function

您会注意到formatDate函数从未看到这三个数字,因此它必须使用诸如getMonth之类的东西来解码这些部分。

最后一行是这样说的:

PrintFormatDateNewDate2000,0,1

它有括号,所以你需要像这样倒读:

(2000, 0, 1) // make a list of 3 numbers to pass to a function
Date(2000, 0, 1) // call the Date function
new Date(2000, 0, 1) // since Date is a builtin object, tell it that is is constructing a new object or you risk hard to find bugs
(new Date(2000, 0, 1)) // pass the new Date object to the formatDate function
print(formatDate(new Date(2000, 0, 1))); // pass the result of formatDate, a String object, to the print function

您会注意到formatDate函数从未看到这三个数字,因此它必须使用诸如getMonth之类的东西来解码这些部分。

对不起,我知道它添加了一个零,这只是一个输入错误。但我不知道这个函数是如何工作的。如果参数中已经提交了日期,为什么要使用getDate get Month和getFullYear。此外,数字如何知道将月份和日期与10进行比较。数字是否自动识别数字?formatDate中的最后一行调用paddate.getDate.getDate返回2。这2是传递到pad函数的变量,存储在数字中。pad变量调用两次-一次用于当月,一次用于日期。希望这是有意义的。谢谢你的尝试,但你没有解释我在评论或评论中提出的问题。回复:getDate/getMonth和getFullYear,pad的理由是什么?谢谢,这有点帮助。你能解释一下getDate是如何与程序printformatDatenewDate2000,0,1的最后一行交互的吗;getDate不会自动生成日期吗?如果是,它与程序最后一行中的日期如何交互?我添加了更多的说明-让我知道这是否有意义。对不起,我知道它添加了一个零,这只是一个输入错误。但我不知道这个函数是如何工作的。如果参数中已经提交了日期,为什么要使用getDate get Month和getFullYear。此外,数字如何知道将月份和日期与10进行比较。数字是否自动识别数字?formatDate中的最后一行调用paddate.getDate.getDate返回2。这2是传递到pad函数的变量,存储在数字中。pad变量调用两次-一次用于当月,一次用于日期。希望这是有意义的。谢谢你的尝试,但你没有解释我在评论或评论中提出的问题。回复:getDate/getMonth和getFullYear,pad的理由是什么?谢谢,这有点帮助。你能解释一下getDate是如何与程序printformatDatenewDate2000,0,1的最后一行交互的吗;getDate不会自动生成日期吗?如果是的话,它与程序最后一行中的日期是如何相互作用的?我添加了更多的说明-让我知道这是否有意义。我无法理解,在哪一点上你混淆了?上述函数的目的是将提交的日期格式化为dd/MM/yyyyyy,但我无法获取,在哪一点上您感到困惑?上述函数的目的是将提交的日期格式化为dd/MM/YYYYTANKS,这有点帮助。你能解释一下getDate是如何与程序printformatDatenewDate2000,0,1的最后一行交互的吗;getDate不会自动生成日期吗?如果是,它与程序最后一行中的日期如何交互?注意:它来自一个教程,该教程试图教我你推荐的东西,但对我来说解释得不够清楚,不幸的是:不,getDate返回月份的第几天,在本例中为1。令人困惑的是,我知道如果是getDay会更清晰,但是getDay返回的是一周中的某一天。谢谢,这有点帮助。你能解释一下getDate是如何与程序printformatDatenewDate2000,0,1的最后一行交互的吗;getDate不会自动生成日期吗?如果是,它与程序最后一行中的日期如何交互?注意:它来自一个教程,该教程试图教我你推荐的东西,但对我来说解释得不够清楚,不幸的是:不,getDate返回月份的第几天,在本例中为1。令人困惑的是,我知道如果是getDay会更清晰,但是getDay返回的是一周中的某一天。