表达式和语句
表达式
一个表达式可以产生一个值,表达式可以放在任何需要值的地方。
3>5 true
6+5 11
原始表达式:
原始表达式是表达式的最小单位——它不再包含其他表达式
字面量: “123” 12 true 10.2 “kjkd”
关系表达式:
使用关系运算符把两个表达式连接起来的式子,叫做关系表达式,下图是一个关系表达式。
3>2 7==8 9<9
关系表达式的结果就是true和false
语句
JavaScript 语句是发给浏览器的命令。
这些命令的作用是告诉浏览器要做的事情。
分号用于分隔 JavaScript 语句 。
var a = 5;
var b = 6;
c = a + b;
语句可以理解为一个行为,循环语句和判断语句就是典型的语句。一个程序有很多个语句组成,一般情况下;分割一个一个的语句。
流程控制
程序的三种基本结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6uwrHLBx-1576723897728)(media/51.png)]
顺序结构
从上到下执行的代码就是顺序结构
程序默认就是由上到下顺序执行的
分支结构
根据不同的情况,执行对应代码
循环结构
循环结构:重复做一件事情
分支结构
if语句
语法结构
if (条件表达式 ) {
执行语句
}
if (条件表达式 ){
成立执行语句
} else {
否则执行语句
}
if (条件1 ){
成立执行语句
} else if ( 条件2 ){
成立执行语句
} else if ( 条件3 ){
成立执行语句
} else {
最后默认执行语句
}
案例:
求两个数的最大数
判断一个数是偶数还是奇数
分数转换,把百分制转换成ABCDE <60 E 60-70 D 70-80 C 80-90 B 90 - 100 A
作业:
判断一个年份是闰年还是平年
闰年:能被4整除,但不能被100整除的年份 或者 能被400整除的年份
判断一个人的年龄是否满18岁(是否成年)
三元运算符
表达式1 ? 表达式2 : 表达式3
是对if……else语句的一种简化写法
案例:
是否年满18岁
从两个数中找最大值
switch语句
语法格式:
switch (值) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
case 常量3:
语句;
break;
…
case 常量n:
语句;
break;
default:
语句;
break;
}
1 switch 语句在比较值时使用的是全等操作符 ===,
因此不会发生类型转换(例如,字符串'10' 不等于数值 10)
2 break可以省略,如果省略,代码会继续执行下一个case
案例:
显示星期几
素质教育(把分数变成ABCDE)千万不要写100个case哟 1-100
布尔类型的隐式转换
流程控制语句会把条件判断的值隐式转换成布尔类型
转换为true 非空字符串 非0数字 true 任何对象
转换成false 空字符串 0 false null undefined
// 结果是什么?
var a = !!'123';
案例
var message;
// 会自动把message转换成false
if (message) {
// todo...
}
循环结构
在javascript中,循环语句有三种,while、do…while、for循环。
while语句
基本语法:
// 当循环条件为true时,执行循环体,
// 当循环条件为false时,结束循环。
while (循环条件) {
//循环体
}
代码示例:
// 计算1-100之间所有数的和
// 初始化变量
var i = 1;
var sum = 0;
// 判断条件
while (i <= 100) {
// 循环体
sum += i;
// 自增
i++;
}
console.log(sum);
案例:
打印100以内 7的倍数
打印100以内所有偶数
打印100以内所有偶数的和
作业:
打印100以内的奇数
打印100以内的奇数的和
do…while语句
do…while循环和while循环非常像,二者经常可以相互替代,但是do…while的特点是不管条件成不成立,都会执行一次。
基础语法:
do {
// 循环体;
} while (循环条件);
代码示例:
// 初始化变量
var i = 1;
var sum = 0;
do {
sum += i;//循环体
i++;//自增
} while (i <= 100);//循环条件
案例:
求100以内所有3的倍数的和
for语句
while和do…while一般用来解决无法确认次数的循环。for循环一般在循环次数确定的时候比较方便
for循环语法:
// for循环的表达式之间用的是;号分隔的,千万不要写成,
for (初始化表达式1; 判断表达式2; 自增表达式3) {
// 循环体4
}
执行顺序:1243 ---- 243 -----243(直到循环条件变成false)
- 初始化表达式
- 判断表达式
- 自增表达式
- 循环体