好久没有更新了,说实话也是学的内容确实不算少,而且兄弟我又是个卷派,凡事都想学快一点,以至于没有时间更新,最近几天,我会陆续整理一些小案例,供大家练练手,每种题都是好几种写法哦
对于新手超级友好!!!
毕竟我也是新手嘛!!!
话不多说,上干货!
案例1;用户输入提示框 输入出生年份 文档打印多少岁! (3种写法)
这道题,整理了三种写法,题目很简单,三种写法主要是为了让大家熟悉一下各个方法的不同,程序员多敲敲嘛,敲多了,就都会了!
分别是:
1、最常规的弹窗
2、加入了对于用户输入的内容是否是数字的判断条件,同时用while 循环 直到输入直到输入正确
3、isNaN + while
// 方法一 最简单常规理想状态
var year = prompt('请输入年份:');
age = 2022 - year;
alert('你已经' + age + '岁了');
// 方法二 复杂一点
var flag = true;
while (flag) {
var year = +prompt('请您输入您的出生年份') // 前面写个 + 是把字符强制转成数字型
if (typeof year === 'number') {
var age = 2022 - year; // year 取过来的是字符串型 但是这里用的减法 有隐式转换
alert('您今年已经' + age + '岁了');
flag = false;
} else {
alert('请输入正确的数字类型');
continue;
}
}
// 方法三 用的isNaN
var year = prompt('请您输入您的出生年份');
var flag = isNaN(year);
while (flag) {
alert('请输入正确的数字类型');
year = prompt('请您输入您的出生年份');
}
alert('您年龄是:' + (2022 - year));
案例二:弹出两次输入框(prompt)计算两次的和!
这个就是常规操作,两次取值,加上 数字的隐式转换 因为prompt 接收的数据类型是字符串,所以需要隐式转换!
var num = prompt('请输入第一个值');
var num1 = prompt('请输入第二个值');
num = num - 0;
num1 = num1 - 0;
alert('两个数的和为' + parseFloat(num + num1))
案例三:【难度★★★★】如果今天是星期六,那么1000天是星期几?(4种写法)
1、正常的取 模运算
2、switch 分类讨论 ,虽然长了点,不过思路很清晰,比较容易理解
3、三元表达式书写
4、简单数字类
// 方法一 默认今天是第一天 直接取余
var num = 1000 % 7 - 1;
console.log('是的星期' + num + '啊');
// 方法二 升级版 虽然有点长,不过思路很简单
var time = prompt('今天是周六,你想知道多少天后是星期几吗?')
time = time - 0;
var time = time % 7;
switch (time) {
case 0:
alert('星期六');
break;
case 1:
alert('星期日');
break;
case 2:
alert('星期一');
break;
case 3:
alert('星期二');
break;
case 4:
alert('星期三');
break;
case 5:
alert('星期四');
break;
default:
alert('星期五');
}
// 方法三 三元表达式
var newTime = +prompt('请输入您要查询的日期(可以显示星期几):')
var num = newTime % 7 // 必须得加一个结果 不然alert 没法调用结果
var re = newTime % 7 < 3 ? num + 5 : num - 2;
alert(newTime + '号是星期' + re)
// 方法四 简单数字类
var newTime = +prompt('请输入您要查询的日期(可以显示星期几):')
var num = newTime % 7;
if (num < 6) {
alert(newTime + '号是星期' + (num + 2))
} else {
alert(newTime + '号是星期' + (num - 5))
}
案例四:
【难度★★★★★】用户输入一个三位数,用程序计算三位数字的和(两种方式实现)。
// 比如:
// 用户输入155,就弹出11
// 用户输入316,就弹出10
// 用户输入989,就弹出26
// 用户输入678,就弹出21
// 注意:用户输入数字的有效性、合法性不用考虑。比如,如果用户输入34343、“我爱你”,这种情况我们不要去考虑,你就想像,用户会非常乖,一定会输入3位数的。这是因为我们没有学习if语句。
这个题目主要是得理清楚思路,这里整理了两种写法
核心在于,怎么把 个位、十位、百位 上的数分别取出来?
alert('方法一')
var num5 = prompt('请输入一个三位数')
num.substring
var num6 = num5[0] - 0;
var num7 = num5[1] - 0;
var num8 = num5[2] - 0;
var num9 = num8 + num6 + num7;
alert('三位数相加等于' + num9);
alert('方法二')
var num5 = prompt('请输入一个三位数')
var num5 = num5 - 0;
var num6 = num5 % 10;//个位数 3
var num7 = num5 % 100;
num7 = parseInt(num7 / 10);//十位数 2.3 2
var num8 = parseInt(num5 / 100);//百位数
var num9 = num8 + num6 + num7;
alert('个位数:' + num6);
alert('十位数:' + num7);
alert('百位数:' + num8);
alert('三位数相加等于' + num9);
案例五: 这个题整理了3种写法 分别是基础班、升级版、和工作版
// ###1- 判断时间阶段。
// - 题目描述:
// 用户输入几点弹出问候信息;
// 如用户输入12点中午好;
// 用户输入18点 弹出傍晚好;
// 用户输入23点弹出深夜好;
// 方法一 硬性的几个答案
var time = prompt('请输入时间点:')
if (time == 12 || time == '12点') {
alert('中午好!')
} else if (time == 18 || time == '18点') {
alert('傍晚好!')
} else if (time == 24 || time == '24点') {
alert('晚上好!')
}
// 方法二 输入时间段问好
var now = +prompt('请输入时间点:')
if (now > 0 && now <= 6) {
alert('午夜好!')
} else if (now > 6 && now <= 11) {
alert('早上好!')
} else if (now > 11 && now <= 14) {
alert('中午好!')
} else if (now > 14 && now <= 18) {
alert('下午好!')
} else {
alert("晚上好!");
}
// 方法三 实时时间问好。访问现在电脑时间,跳出信息框,大网站基本上都有这种定点提示框
var now = (new Date()).getHours();
if (now > 0 && now <= 6) {
alert('午夜好!')
} else if (now > 6 && now <= 11) {
alert('早上好!')
} else if (now > 11 && now <= 14) {
alert('中午好!')
} else if (now > 14 && now <= 18) {
alert('下午好!')
} else {
alert("晚上好!");
}
今天就整理出来呢5个案例,如果对您有用的话,记得点个赞哦!
接下来还会更新各种实用小案例供大家参考练习,还有各种各样的解法,记得收藏一下哦!
谢谢谢谢~~~你~您~您~嘞~~