学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes
觉得有帮助的同学,可以点心心支持一下哈
一、运算符
1.赋值运算符
总结
2.一元运算符
总结
3.比较运算符
开发中判断是否相等,强烈推荐使用===
细节
字符串比较,是比较的字符对应的ASCll码
NaN不等于任何值,包括它本身
尽量不要比较小数,因为小数有精度问题
不同类型之间比较会发生隐式转换
总结
4.逻辑运算符
总结
案例(判断一个数是4的倍数,且不是100的倍数)
let num = Number(prompt("请输入一个数"))
alert(num % 4 === 0 && num % 100 !== 0)
5.运算符优先级
二、语句
1.表达式和语句
表达式和语句的区别
表达式是可以被求值的代码,JavaScript引擎会将其计算出一个结果
语句是一段可以执行的代码,比如:prompt(()可以弹出一个输入框,还有if语句for循环语句等等
总结
2.分支语句
程序三大流程控制语句
分支
分支语句可以让我们有选择性的执行想要的代码
If分支语句
三元运算符
switch 语句
if语句
除了0所有的数字都为真,除了''所有的字符串都为真true
案例(if语句)
let grance = +prompt("请输入高考成绩")
if (grance > 700) {
alert("恭喜考入黑马程序员")
}
双分支if语法
案例(判断用户登录)
let uname = prompt("请输入用户名")
let password = prompt("请输入密码")
if (uname === "pink" && password === "123456") {
alert("登录成功")
} else {
alert("对不起,用户名或者密码错误")
}
案例(判断闰年)
// 用户输入年份
let year = +prompt("请输入年份")
// 年份是4的倍数,且不是100的倍数的,为闰年;或者年份是400的倍数为闰年
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
alert(year + "为闰年")
} else {
alert(year + "为平年")
}
多分支if语法
案例(输入成绩)
let sorce = +prompt("请输入成绩")
if (sorce >= 90) {
alert("优秀")
} else if (sorce >= 70) {
alert("良好")
} else if (sorce >= 60) {
alert("及格")
} else {
alert("不及格")
}
三元运算符
案例(判断2个数的最大值)
let num1 = +prompt("请输入第一个值")
let num2 = +prompt("请输入第二个值")
num1 > num2 ? alert("两个数最大的那个是" + num1) : alert("两个数最大的那个是" + num2)
案例(数字补0案例)
let num = +prompt("请输入数字")
num >= 10 ? alert(num) : alert(`0${num}`)
switch语句
案例(简单计算器)
let num1 = +prompt("请输入第一个数字")
let num2 = +prompt("请输入第二个数字")
let compluted = prompt("请输入运算符")
switch (compluted) {
case "+":
alert(num1 + num2)
break
case "-":
alert(num1 - num2)
break
case "*":
alert(num1 * num2)
break
case "/":
alert(num1 / num2)
break
default:
alert("请输入+-*/任何一个")
break
}
循环语句
断点调试
while循环
1.while循环基本语法
2.while循环三要素
- 变量起始值
- 终止条件
- 变量变化量
总结
案例(在页面中打印输出10句“月薪过万”)
// 在页面中打印输出10句“月薪过万”
let count = 1;
while (count <= 10) {
document.write("月薪过万 <br/>")
count++
}
案例(while练习)
let count = 1
while (count <= 100) {
document.write(count + "\n")
count++
}
let count = 1
let sum = 0
while (count <= 100) {
sum = sum + count
count++
}
document.write("从1加到100的总和为:" + sum)
let count = 1
let sum = 0
while (count <= 100) {
if (count % 2 === 0) {
sum = sum + count
}
count++
}
document.write("从1 - 100之间的所有偶数和为:" + sum)
循环退出(continue和break的区别)
案例(页面弹框)
while (1) {
let str = prompt("你爱我吗?")
if (str === "爱") {
break
}
}
综合案例(简易ATM取款机)
// 定义初始金额
let money = 0
// 定义存钱、取钱的变量
let count = 0
while (true) {
// 绘制面板
let num = + prompt(`请您选择操作:
1.存钱
2.取钱
3.查看余额
4.退出`)
if (num === 4) {
break
}
switch (num) {
case 1:
count = + prompt("请您输入存钱的金额:")
if (count <= 0) {
alert("存钱金额要小于零,存钱失败")
} else {
money = money + count
alert("存钱成功")
}
break
case 2:
count = +prompt("请输入您要取钱的金额:")
if (count > money) {
alert("余额不足")
} else {
money = money - count
alert("取钱成功")
}
break;
case 3:
alert(`您卡上的余额是${money}元`)
break
default:
alert("请输入1-4")
break
}
}