文章目录

  • JavaScript 流程控制语句
    • 一、选择语句
      • 1. if 语句
        • (1) if 语句的基本使用
        • (2) if else if 多条件分支
      • 2. switch 语句
        • (1) switch 语句的基本使用
      • 3. 三元运算符
        • (1) 三元运算符
        • (2) 三元运算符的基本使用
    • 二、循环语句
      • 1. for 循环语句
        • (1) 语法
        • (2) 流程
      • 2. while 循环语句
        • (1) 语法
        • (2) 流程
        • (3) 特性
      • 3. do while 循环语句
        • (1) 语法
        • (2) 流程
        • (3) 特性
      • 4. for-in 循环语句
        • (1) 语法
        • (2) 作用
        • (3) 注意事项
    • 三、跳转语句
      • 1. break 语句
      • 2. continue 语句
      • 3. return 语句
    • 四、异常处理语句
      • 1. throw 语句
      • 2. try 语句
      • 3. catch 语句
      • 4. finally 语句
      • 6. 随机数函数
    • 二、算法
      • 1. 什么是算法
      • 2. 优秀算法的要求
    • 五、深克隆和浅克隆
      • 1. 浅克隆
      • 2. 深克隆

JavaScript 流程控制语句

一、选择语句

1. if 语句

(1) if 语句的基本使用
  • if 语句是最简单的条件语句,也称选择语句,通常和 else 一起使用,表示 如果…就…否则…
  • 单行 if 语句:如果 if 语句体中只有一行语句,可以省略大括号和换行
(2) if else if 多条件分支
  • else if() 条件分支“暗含”不符合之前所有条件,要理解什么叫“否则如果”

2. switch 语句

(1) switch 语句的基本使用
  • switch 语句的用途:当一个变量被分类讨论的情形
  • 在 switch() 的圆括号中一般是一个变量名,这个变量将被分类讨论
  • case 表示“情况”,它后面没有圆括号,直接跟一个值
    程序会依次将 case 后面的值与 switch 圆括号中的值进行全等比对,如果比对相同,则执行这条 case 冒号后面的语句
    default 表示默认情况
  • 多条 case 可以共用同一个语句体
  • 在执行了某一个分支后要书写 break 来跳出语句体
    如果不书写 break,则后面的所有 case 都将被视为匹配,直至遇见 break

3. 三元运算符

(1) 三元运算符

  • 问号前面是 判断的条件,问号后面用冒号隔开两个表达式,当条件表达式为真实调用表达式 1,为假时调用表达式 2
(2) 三元运算符的基本使用
  • 用途:根据某个条件是否成立,在两个不同的值中选择变量的值

二、循环语句

1. for 循环语句

(1) 语法
for(循环变量=初值;循环条件;递增/递减计数器) {循环代码段
}
(2) 流程
  • 用循环变量初始值与循环条件相比较,确定返回值
  • 如果返回值为 true,则执行循环体
  • 执行完一次后进行 递增 / 递减 运算
  • 将运算结果与循环条件相比较
  • 如果返回值为 true 则继续执行循环体
    如果返回值为 false 则退出循环体

2. while 循环语句

  • while 语句也是一种循环结构,它事先不指定循环开始、结束的范围,只要测试条件满足,就一直执行循环体
(1) 语法
while(条件表达式) {循环执行代码段
}
(2) 流程
  • 判断条件表达式的值
  • 当值为 true 的时候循环执行代码段
  • 当值为 false 的时候退出循环体
(3) 特性
  • 先检查条件,再执行循环
  • 若条件不满足则一次循环也不执行
  • 一个动作被重复执行到满足某个条件时

3. do while 循环语句

  • do while 循环是一种“后测试循环语句”
    for 循环和 while 循环是“先测试条件是否满足,然后执行循环体”
(1) 语法
do {循环执行代码段
} while(条件表达式)
(2) 流程
  • 先执行循环体内代码段在进行判断
  • 如果表达式的值为 true,则重复执行代码段
  • 如果表达式的值为 false,则退出循环体
(3) 特性
  • 先执行循环体,再测试条件是否满足
  • 循环体内代码至少执行一次
  • 希望一个动作至少被执行一次时使用

4. for-in 循环语句

(1) 语法
for(声明变量 in 对象) {代码段
}
(2) 作用
  • 枚举对象属性
(3) 注意事项
  • 循环输出的属性顺序不可预知
  • 对象的值不能是 null 或 undefined

三、跳转语句

1. break 语句

  • break 表示立即终止循环,在 for 循环和 while 循环中都可以使用

2. continue 语句

  • continue 用于跳过循环中的一个迭代,并继续执行循环中的下一个迭代

3. return 语句

  • return 用于终止函数体的运行,并返回一个值

四、异常处理语句

1. throw 语句

  • 主动抛出异常

2. try 语句

  • 指明需要处理的代码段

3. catch 语句

  • 捕获异常

4. finally 语句

  • 后期处理

6. 随机数函数

  • Math.random():得到 0 到 1 之间的小数
  • 得到 [a, b] 区间的整数,公式:parseInt(Math.random() * (b -a + 1)) + a

二、算法

1. 什么是算法

  • 算法(Algorithm)是指解题方案的准确而完整地描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入在有限时间内获得所要求的输出
  • 算法就是把一个问题拆解为计算机能够一步一步执行的步骤
  • 计算机的流程控制语句:顺序执行、选择语句、循环语句

2. 优秀算法的要求

  • 正确性
  • 健壮性
  • 可读性

五、深克隆和浅克隆

  • 使用var arr2=arr1的语法不会克隆数组

1. 浅克隆

  • 浅克隆:只克隆数组的第一层,如果是多维数组,或者数组中的项是其他引用类型值,则不可隆其它层,克隆的项会“藕断丝连”
  • 实现浅克隆:准备一个空的结果数组,然后使用 for 循环遍历原数组,将遍历到的项都推入结果数组

2. 深克隆

  • 深克隆:克隆数组的所有层,要使用递归技术
  • 实现深克隆:使用递归思想,整体思路和浅克隆类似,但稍微进行一些改动:如果遍历到的项是基本类型值,则直接推入结果数组;如果遍历到的项又是数组,则重复执行浅克隆的操作
<script>function deepClone(arr) {//结果数组var result = [];//遍历数组的每一项for (var i = 0; i < arr.length; i++) {//如果遍历到的项是数组if (Array.isArray(arr[i])) {//递归result.push(deepClone(arr[i]));} else {result.push(arr[i]));}}return result;}
</script>

(七)JavaScript 流程控制语句相关推荐

  1. JavaScript流程控制语句

    JavaScript流程控制语句 4.1.语句的定义 ​ 在ECMAScript 中,所有的代码都是由语句来构成的.一行代码就是一条简单语句.形式上可以是单行语句,或者由一对大括号"{}&q ...

  2. 数据库原理与应用(SQL Server)笔记 第七章 流程控制语句、系统内置函数

    目录 一.流程控制语句 (一)BEGIN...END语句块 (二)条件语句 (三)循环语句 1.WHILE语句 2.BREAK语句和CONTINUE语句 (四)无条件转移语句 (五)返回语句 (六)等 ...

  3. [JavaWeb-JavaScript]JavaScript流程控制语句

    流程控制语句: 1. if...else...2. switch:* 在java中,switch语句可以接受的数据类型: byte int shor char,枚举(1.5) ,String(1.7) ...

  4. JavaScript—流程控制语句的合集

    目录 流程控制 条件判断语句 流程控制 条件判断语句 条件分支语句 循环语句 条件判断语句 if语句 语法:if(条件表达式){语句}-------if(a > 10){alert('a比10大 ...

  5. JavaScript 流程控制语句

    1.if语句 1 <script> 2 $(document).ready(function(){ 3 $("#Button1").click(function(){ ...

  6. 从零开始学WEB前端——JavaScript流程控制语句

  7. web前端-JavaScript流程控制语句(条件判断,条件分支和循环语句)

  8. 自学Java(随时放弃十 流程控制语句①)

    Java基础语法 (七)流程控制语句 学了这么多,终于拉到一点点编程的小手手了,有没有很兴奋? 如果大家有同感,那么恭喜你,接下去让我们再接再厉,共创辉煌. 对不起,单位宣传文章写多了 ✿✿ヽ(°▽° ...

  9. JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

最新文章

  1. 转: EclipseIDE开发 for C++
  2. php遍历视频文件,php使用glob函数遍历文件和目录详解
  3. 除掉字符串里面相同的字符
  4. qt为lineedit添加背景图片代码_Qt中事件的理解(2)
  5. 四、物理优化(4)分区视图
  6. 陆奇:欢迎毛圣博加入奇绩,成为奇绩创坛合伙人
  7. SQL2005恢复只有mdf文件的数据库
  8. kodi教程 linux,Kodi 设置教程 | Homepage of Zhikun Zhang
  9. B站郝斌C语言指针笔记
  10. 国产三极管与进口三极管的区别有哪些
  11. python从入门到入魔(肝3天总结的3万字经验)
  12. 安装python与编译工具vs code(中文版)和pycharm(中文版)
  13. java_获得用户显示器大小
  14. 【服务端知识点】MAC OSX 安装MongoDB
  15. pytorch锁死在dataloader(训练时卡死)
  16. SpringBoot中通过接口下载resources下的文件
  17. powershell自定义字体
  18. CentOS7没有图形化界面,怎么安装图形化界面
  19. 杨浦搬场公司搬家过程中的注意事项
  20. 数据库连接池-c3p0

热门文章

  1. JDBC访问数据库步骤
  2. 固定资产提完折旧之后应该怎么办呢
  3. 番茄学习法——亲测超级好用
  4. python绘制余弦曲线图_Python使用matplotlib绘制正弦和余弦曲线的方法示例
  5. 失传的 C 结构体打包技艺
  6. 高分子结晶的新进展、新模型
  7. java什么是递归_JAVA的递归是什么意思?
  8. 稳态转差频率控制matlab,电动机转差频率间接矢量控制matlab仿真(毕业设计)
  9. Access操作与SQL语句:数据分组
  10. Java生成Json文件添加到ZIP压缩并导出