为什么按照视频的方法,将newDate(year,month,day)参数year+3,

为什么按照视频的方法,将newDate(year,month,day)参数year+3,

为什么按照视频的方法,将new Date(year,month,day)参数year+3,结果却无法相加呢?

http://img1.sycdn.imooc.com/climg//59636e450001789308280258.jpg

    http://img1.sycdn.imooc.com/climg//59636f060001763207870280.jpg

无论是以上两种哪种写法,答案都是下边这样

http://img1.sycdn.imooc.com/climg//59636e4f0001be9203880103.jpg

但是如果将+3写到document中就可以运行


http://img1.sycdn.imooc.com/climg//59636f1c00011cdb08320324.jpghttp://img1.sycdn.imooc.com/climg//59636f4d0001c97504170133.jpg

我刚才又试了试,将参数month+1,答案更离谱了

http://img1.sycdn.imooc.com/climg//5963720b0001c57608240291.jpg

http://img1.sycdn.imooc.com/climg//5963720f00016bb403610133.jpg按说应该是1999年4月3日,可是为什么会出现以上这种情况,希望老师能解答


正在回答

登陆购买课程后可参与讨论,去登陆

4回答

你好,因为输入的字符串形式的,进行相加是,按照字符串品拼接了,取值即可。例:

    var year=parseInt(prompt("请输入员工入职年份"));
    var month=parseInt(prompt("请输入员工入职月份"));
    var day=parseInt(prompt("请输入员工入职日期"));

祝学习愉快!

  • 麦麦zzz 提问者 #1
    非常感谢!
    2017-07-27 21:59:00
爱前端的小学生 2017-07-23 10:04:29

要parseInt一下

  • 提问者 麦麦zzz #1
    非常感谢!
    2017-07-27 22:00:06
提问者 麦麦zzz 2017-07-11 12:22:18
请看这个
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
	<title></title>
</head>
<body>
<script type="text/javascript">
	var year=prompt("请输入员工入职年份");
	var month=prompt("请输入员工入职月份");
	var day=prompt("请输入员工入职日期");
	function workTime(year,month,day){
		document.write("该员工入职时间是:"+year+"-"+month+"-"+day+"<br>");
		var end=new Date(year+3,month,day);
		document.write("该员工合同到期时间是:"+end.getFullYear()+"-"+end.getMonth()+"-"+end.getDate());
	}
	
	workTime(year,month,day);
</script>
</body>
</html>


好帮手慕糖 2017-07-11 11:57:51

你好,建议:直接把代码粘贴过来,方便测试与解决问题。祝学习愉快!

  • 提问者 麦麦zzz #1
    好的, <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script type="text/javascript"> var year=prompt("请输入员工入职年份"); var month=prompt("请输入员工入职月份"); var day=prompt("请输入员工入职日期"); function workTime(year,month,day){ document.write("该员工入职时间是:"+year+"-"+month+"-"+day+"<br>"); var end=new Date(year+3,month,day); document.write("该员工合同到期时间是:"+end.getFullYear()+"-"+end.getMonth()+"-"+end.getDate()); } workTime(year,month,day); </script> </body> </html>
    2017-07-11 12:21:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师