-
-
流程控制语句
-
- 流程控制语句分类
-
if语句
-
-
1、条件判断语句
-
2、单分支条件分支语句
-
2,、多分支的 if 语句
-
-
Switch语句
-
- 用 return 代替 if else
-
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
流程控制语句分类
-
顺序结构
-
选择结构:if 语句、switch 语句
-
循环结构:while 语句、for 语句
1、条件判断语句
条件成立才执行。如果条件不成立,那就什么都不做。
格式:
if (条件表达式) {
// 条件为真时,做的事情
}
2、单分支条件分支语句
if (条件表达式) {
// 条件为真时,做的事情
} else {
// 条件为假时,做的事情
}
2,、多分支的 if 语句
if (条件表达式1) {
// 条件1为真时,做的事情
} else if (条件表达式2) {
// 条件1不满足,条件2满足时,做的事情
} else if (条件表达式3) {
// 条件1、2不满足,条件3满足时,做的事情
} else {
// 条件1、2、3都不满足时,做的事情
}
以上所有的语句体中,只执行其中一个。
语法格式
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
...
default:
语句体 n+1;
break;
}
解释: switch 可以理解为“开关、转换” 。case 可以理解为“案例、选项”。
switch 和 case 后面的值:
switch 后面的括号里可以是表达式或者值, 通常是一个变量(通常做法是:先把表达式或者值存放到变量中)。
JS 是属于弱类型语言,case 后面的值1、值2可以是 ‘a’、6、true 等任意数据类型的值,也可以是表达式。注意,在这里,字符串’6’和 数字 6 是不一样的。
case 穿透:
switch
语句中的break
可以省略,但一般不建议(对于新手而言)。否则结果可能不是你想要的,会出现一个现象:case
穿透。
当然,如果你能利用好 case
穿透,会让代码写得十分优雅。
也就是当式子满足某个case的值时,执行该case
里面的代码,如果其中没有break
,将不会跳出switch
,而是继续执行下一个case
代码,直到遇到break
ordefault
用 return 代替 if else
业务场景:
我们在实战业务中涉及到调接口时,一般会这样做:
- 接口返回码为 0 时,前端 resolve。
TCP协议
- TCP 和 UDP 的区别?
- TCP 三次握手的过程?
- 为什么是三次而不是两次、四次?
- 三次握手过程中可以携带数据么?
- 说说 TCP 四次挥手的过程
- 为什么是四次挥手而不是三次?
- 半连接队列和 SYN Flood 攻击的关系
- 如何应对 SYN Flood 攻击?
- 介绍一下 TCP 报文头部的字段
- TCP 快速打开的原理(TFO)
- 说说TCP报文中时间戳的作用?
- TCP 的超时重传时间是如何计算的?
- TCP 的流量控制
- TCP 的拥塞控制
- 说说 Nagle 算法和延迟确认?
- 如何理解 TCP 的 keep-alive?
浏览器篇
- 浏览器缓存?
- 说一说浏览器的本地存储?各自优劣如何?
- 说一说从输入URL到页面呈现发生了什么?
- 谈谈你对重绘和回流的理解
- XSS攻击
- CSRF攻击
- HTTPS为什么让数据传输更安全?
- 实现事件的防抖和节流?
- 实现图片懒加载?
流量控制
- TCP 的拥塞控制
- 说说 Nagle 算法和延迟确认?
- 如何理解 TCP 的 keep-alive?
[外链图片转存中…(img-IsKOvs01-1718726926654)]
浏览器篇
- 浏览器缓存?
- 说一说浏览器的本地存储?各自优劣如何?
- 说一说从输入URL到页面呈现发生了什么?
- 谈谈你对重绘和回流的理解
- XSS攻击
- CSRF攻击
- HTTPS为什么让数据传输更安全?
- 实现事件的防抖和节流?
- 实现图片懒加载?