运算符 分支语句 while循环
-
算术运算符
+:求和 -:求差 *:求积 /:求商 %:取模 复制代码 -
计算圆形面积
需求:对话框中输入圆的半径,算出圆的面积并显示到页面 let r = prompt('请输入圆的半径:') document.write(`您输入的圆的半径为${r},计算结果为${3.14 * r *r}`) 复制代码 -
赋值运算符
+=,-=, *=, /=, %= ① let num = 1 num = num + 1 console.log(num) //2 ② let num = 1 num += 1 相当于 num = num + 1 console.log(num) //2 复制代码 -
一元运算符
例:正负号 +10 和 -10 例: let i = 1 console.log(i++ + ++i + i) // 1 + 3 3 // i: 2 3 3 // console.log(++i + 2); //4 // console.log(i++ + 2); //3 // console.log(i++ + 4); //5 // console.log(i++ + i++ + ++i); //7 // 1 + 2 + 4 // i: 2 3 4 // console.log(++i + i++ + ++i); //8 // 2 + 2 + 4 // i: 2 3 4 // console.log(i++ + ++i + i++); // 7 // 1 + 2 + 4 // i: 1 3 4 复制代码 -
比较运算符
>=:左边是否大于或等于右边 <=:右边是否小于或等于右边
==:左右两边是否相等 ===:左右两边是否类型和值都相等
!==:左右两边是否不全等
NaN不等于任何值,包括它本身
=代表赋值运算符 =左侧必须是一个容器
==和!= 只判断数值 不匹配类型 不是特别的严谨
例如:5=='5' 返回结果是true的情况
在开发中一般是使用===和!==
因为===不仅可以匹配数值还可以匹配数据类型
例如:5==='5' 返回结果是false 5===5 返回结果是true
复制代码
- 逻辑运算符
【注意】NaN,unfinted,null,0的布尔类型都为false
【注意】运算符优先级:先*/%后+-,有括号先算括号里面的先&&后||
7. 判断一个数是否整除案例
let num = +prompt('请输入一个数字:')
console.log(num);
console.log(num % 4 === 0 && num % 100 !== 0);
复制代码
- 分支语句
if(score >= 700){
alert('恭喜你考入黑马程序员')
}else
alert('很遗憾,继续加油')
复制代码
- 双分支语句
求闰年平年
能被4整除并且不能被100整除
或者
能被400整除的年份是闰年,否则都是平年
let year = prompt('输入年份')
if(year % 4 === 0 && year % 100 !==0 || year % 400 ===0){
alert(`今年是闰年`)
}else{
alert(`今年是平年`)
}
复制代码
已知用户工资10000
用户输入工龄
如果工龄大于1年,奖金+2000 并输出工资最终金额,
否则输出 您本年无奖金。
let gz = 10000
let age = prompt('请输入您的工龄')
if(age > 1){
alert(`'您的奖金加2000,最终所得为'${gz+2000}`);
}else{
alert(`您本年无奖金`)
}
复制代码
分时问候案例
// 1. 用户输入时间 等我们学完api 自动获取时间
// 实现 12点前提示上午好 18点前提示下午好 20点前提示晚上好
let time = prompt('请输入现在时间')
if(time < 12){
alert('上午好')
}else if(time<18){
alert('下午好')
}else if(time<20){
alert('晚上好')
}else{
alert(`有误`)
}
复制代码
- 三元运算符
// 条件 ? 满足条件执行的代码 : 不满足条件执行的代码
let num1 = +prompt('第一个数')
let num2 = +prompt('第二个数')
num1 > num2 ? alert(`${num1}大于${num2}`) : alert(`${num1}小于${num2}`)
复制代码
数字补0案例
let num = +prompt('请输入一个数字')
document.write(num>=10 ? num : '0' + num)
复制代码
- switch语句
例如:简单计算器
let num1 = +prompt('请输入第一个数字')
let num2 = +prompt('请输入第二个数字')
let op = prompt('请输入运算符')
switch (op) {
case '+': document.write(`第一个数${num1}第二个数${num2}运算符为${op}和为${num1 + num2}`)
break;
case '-': document.write(`第一个数${num1}第二个数${num2}运算符为${op}和为${num1 - num2}`)
break;
case '*': document.write(`第一个数${num1}第二个数${num2}运算符为${op}和为${num1 * num2}`)
break;
case '/': document.write(`第一个数${num1}第二个数${num2}运算符为${op}和为${num1 / num2}`)
break;
default:
document.write(`您输入的值有误`)
break;
}
复制代码
- while循环
循环必须有3要素
1. 变量的起始值
2. 循环条件
3. 变量变化
// let i = 1
// while (i <= 10) {
// document.write(`月薪过万<br>`)
// i++
// }
let i=1
while (i<=5) {
console.log(`月薪过${i}万`);
i++
}
复制代码
- while循环案例
// 1. 输出 1~100个数字
let i = 0
while (i < 100) {
i++
document.write(i + '\t')
}
// 2. 计算1~100 的累加和 1+2+3+.. + 100 = 5050
let i = 1
let sum = 0
while (i <= 100) {
sum += i
i++
}
document.write(sum)
// 3. 求 1~100 之间的偶数累加和 2550
let i=1
let sum=0
while (i<=100) {
if(i%2===0)
sum+=i
i++
}
document.write(sum)
// 4. 你爱我吗案例
// 页面弹出对话框,'你爱我吗',如果输入'爱',则结束,否则一直弹出对话框
let love =prompt('你爱我吗?')
while (love !=='爱') {
love =prompt('你爱我吗?')
}
document.write('我也是')
复制代码
- 综合案例
1. 由于操作提示是一直弹出的,所以prompt 应该写在循环体里面
2. 根据用户输入不同的数字,从而实现不同的操作逻辑,所以应该用switch case 分支语句
3. 由于4是退出,所以可以得知循环条件
4. 取款即为减法操作 存款即为加法操作 查看余额为输出操作
// 用户总余额
let money = 0
//弹出输入框提示用户输入要操作的步骤
let op = 0
while (op !== 4) {
op = +prompt('请输入您的操作 1.取款 2.存款 3.查看余额 4.退出')
switch (op) {
//取款
case 1: let qukuan = +prompt('请输入您要取款的金额')
money -= qukuan //提示用户总余额还剩多少
alert(`您的余额还剩余${money}`) //弹出用户的剩余余额
break;
//存款
case 2: let cunkuan = +prompt('请输入您要存款的金额')
money += cunkuan //提示用户总余额还剩多少
alert(`您的余额还剩余${money}`) //弹出用户的剩余余额
break;
//查看余额
case 3:
alert(`您的余额还剩余${money}`) //弹出用户的剩余余额
break;
case 4:
break
default:
alert(`请输入正确的操作`)
break;
}
}