目录
一、运算符
(一)赋值运算符
对变量进行赋值 把右边的值赋给左边的变量
=、+=、-=、*=、/=、%= 都是赋值运算符
<body>
<script>
let num
num = 1
</script>
</body>
(二)一元运算符
需要几个操作数就是几元运算符
1.二元运算符:
加号是二元运算符
<body>
<script>
let num = 10 + 10
</script>
</body>
2.一元运算符:
正负号
++ -- 和c语言一样 i++
前置自增:加号在前
<body>
<script>
let i = 1
++i
</script>
</body>
后置自增:加号在后
<body>
<script>
let i = 1
i++
</script>
</body>
前置自增和后置自增的区别:在参与运算的时候才有区别,独立使用的时候没区别
加号在前:先自加 再运算 现在式子中右边的 i 是 2
<body>
<script>
let a
let i = 1
a = ++i +2
</script>
</body>
加号在后:先运算再自加 现在式子中右边 i 的值是1
<body>
<script>
let a
let i = 1
a = i++ +2
</script>
</body>
(三)比较运算符
比较大小 判断两个数据是否相等 结果只有两个 true / false
> < >= <= == 判断左右两值是否相等
=== 判断左右两边值和类型是否相等 建议使用!!!
!== 判断左右两边值是否不全相等
2 == ‘2’ 这个结果也返回true 因为比较运算符也包含隐式转换
2 === ‘2’ 这个结果就不等了因为三等号会判断类型是否相等
NaN === NaN 这个式子结果也是false 因为NaN 不等于任何人 所以只要有NaN 就是false
字符串比较是比较 字符对应的ascll 码
比较的时候不比较小数,因为有精度问题
注意隐式转换问题。
(四)逻辑运算符
与或非
逻辑与:&&
逻辑或:||
逻辑非:!
执行顺序:() ++ -- !先与再或
等于号的优先级很低
二、语句
(一)表达式
可以被求值的句子,能算出结果。
(二)语句
可以被执行的代码 例如prompt()
(三)三大流程控制语句
1.顺序结构
代码按照顺序执行
2.分支结构
只有满足条件才执行部分语句,其中有的执行有的不执行。
3.循环结构
满足某些条件代码反复执行
(四)分支语句
1. if 语句介绍
注意:条件里面可以写除了0和1 的其它数字,但是都为真true
里面也可以写字符串 除了空字符串 都为真。
2.单分支 if 语句:
if (条件){
}
else {
}
小技巧:双击一下一个单词 如果有的没变色就是单词拼错了
3.多分支 if 语句
if (条件){
}
else if (条件2){
}
else if (条件3){
}
else{
}
4. 三元运算符
条件 ? 满足条件执行代码1 : 不满足执行代码2
一般用来取值的,进行赋值操作
注意最后输出的时候别忘了再给num赋值一下,必须重新赋值。
<body>
<script>
let num = prompt()
num = num < 10 ? 0 + num : num
</script>
</body>
5. switch语句
开关的意思
switch (数据) {
case 数值1:
代码1
break
case 数值2:
代码1
break
default:
代码n
break
}
断点调试
当前一行不进行了程序执行停留在上一行,然后鼠标放到相应的变量上会显示当前数据的值,然后点击那个眼睛就能进行下一步一句一句运行就能进行排错。
(五)循环语句
1. while 语句
当满足条件时重复执行某些代码
while (循环条件) {
要重复执行的代码(循环体)
}
2 循环退出
break: 直接跳出循环 下面代码是输出1 2 3 4 5
<body>
<script>
let i = 1
while (i <= 5) {
if (i === 3) {
break
}
console.log(`这里是数字${i}`)
i++
}
</script>
</body>
continue: 结束本次循环 先加加再 continue 下面代码是跳过3 输出1 2 4 5
<body>
<script>
let i = 1
while (i <= 5) {
if (i === 3) {
i++
continue
}
console.log(`这里是数字${i}`)
i++
}
</script>
</body>
1. for 循环语句
和c语言一样
for( 起始值;条件;变化量 ){
循环体
}
掌握打印数组(遍历数组)
<body>
<script>
let arr = [1, 2, 3, 4, 5]
for (let i = 0; i <= arr.length-1; i++) {
console.log(arr[i])
}
</script>
</body>
循环嵌套:
<body>
<script>
for (let i = 1; i <= 3; i++) {
document.write(`第${i}天<br>`)
for (let j = 1; j <= 5; j++) {
document.write(`记住第${j}个单词<br>`)
}
}
</script>
</body>
LAST: 小练习
简易ATM取款机
图片展示:
代码如下:
<body>
<script>
while (1) {
let i = prompt(`
请选择你的操作:
1、取款
2、存款
3、查看余额
4、退出
`)
if (i === '4') {
break
}
switch (i) {
case '1': let money = prompt('请输入取款数')
break
case '2': let money1 = prompt('请输入取款数')
break
case '3': let moneyy = prompt('请输入取款数');
break
}
}
</script>
</body>