在HTML中使用js得到某年月的正确天数


任务简介

一、任务要求

正确使用JavaScript中 switchif 知识得到该月正确的天数(用户输入年份和月份),年份、月份是否正确,最终结果输出在控制台。

二、相关知识

1.类型转换

有三个函数可以把非数值转换为数值:Number()、parseInt() 和parseFloat()。Number()可以用来转换任意类型的数据,而后两者只能用于转换字符串。parseInt()只会将字符串转换为整数,而parseFloat()可以将字符串转换为浮点数。

2.控制台输出

注:在网页中按F12弹出控制台

console.log("输出一条日志");//最常用
console.info("输出一条信息");
console.warn("输出一条警告");
console.error("输出一条错误");

3.运算符(逻辑运算符)

&& 与:&&可以对符号两侧的值进行与运算并返回结果,运算规则:
(1)两个值中只要有一个值为false,就返回false,只有两个值都为true时,才会返回true。
(2)JS中的“与”属于短路的与,如果第一个值为false,则不会检查第二个值。
(3)非布尔值时:如果两个都为true,则返回第二个值,如果两个值中有false,则返回靠前的false的值。

|| 或:||可以对符号两侧的值进行或运算并返回结果,运算规则:
(1)两个值中只要有一个true,就返回true,只有两个值都为false,才会返回false。
(2)JS中的“或”属于短路的或,如果第一个值为true,则不会检查第二个值。
(3)非布尔值时:如果两个都为false ,则返回第二个值,如果两个值中有true,则返回靠前的true的值。

! 非:!可以用来对一个值进行非运算,所谓非运算就是对一个布尔值进行取反操作,true变false,false变true,运算规则:
(1)如果对一个值进行两次取反,它不会变化。
(2)非布尔值时:先会将其转换为布尔值,然后再取反,所以我们可以利用该特点,来(3)将一个其它的数据类型转换为布尔值,可以为一个任意数据类型取两次反,来将其转换为布尔值,原理和Boolean()函数一样。

4.if…else

if…else语句是一种最基本的控制语句,它让JavaScript可以有条件的执行语句。

语法格式:

形式1

if(exp)
    statement

形式2

if(exp)
    statement
else
    statement

形式3

if(exp1)
    statement
else if(exp2)
    statement
else
    statement    

5.switch…case

switch…case是另一种流程控制语句。

switch语句更适用于多条分支使用同一条语句的情况。

语法格式:

switch (语句) {
    case 表达式1:
        语句...
    case 表达式2:
        语句...
    default:
        语句...
}

注:需要注意的是一旦符合case的条件程序会一直运行到结束,所以我们一般会在case中添加break作为语句的结束。

任务实施

1.新建一个html和js文件,在html中外链JavaScript(文件1.js)

在这里插入图片描述

2.编写1.js中的代码

(1)让用户输入year和month值。
在这里插入图片描述(2)判断用户输入year和month值和是否正确。
在这里插入图片描述(3)判断是否为闰年。
在这里插入图片描述
(4)奉上js源码。

var year = Number(prompt('输入年份:'));
var month = Number(prompt('输入月份:'));
// 判断年份知否正确
if (year < 10000 && year > 0) {
	// 判断月份是否正确
	if (month <= 12 && month > 0) {
		switch (month) {
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				console.log('31天');
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				console.log('30天');
				break;
			case 2:
			// 判断是否为闰年
				if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
					console.log('29天');
				}
			default:
				console.log('28天');
		}
	} else {
		console.log('你输入的month值有误!(1~12)')
	}
} else {
	console.log('你输入的year值有误!(1~9999)')
}

3.运行演示

注:控制台输出在左下角。
(1)正确日期(2022年2月)
在这里插入图片描述(2)错误年份(20220年2月)
在这里插入图片描述
(3)错误月份(2022年13月)
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁辰兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值