16.JS基础(二)

本文详细介绍了JavaScript的基础知识,包括if语句、switch语句的选择结构,for、while和do-while循环的使用,以及调试语句和异常处理的实践。通过实例演示了如何运用这些结构控制程序流程,提升代码效率和可读性。
摘要由CSDN通过智能技术生成

上一篇:15.JS基础(一)

选择结构

  • 选择结构用于判断给定的条件,根据判断的结果来控制程序的流程

if 语句

  • 根据表达式的判断结果(true|false),选择执行符合条件的语句
// 语法
if (表达式) {
    语句1
}
语句2
// 如果语句1只有一条,可以省略{}大括号(不推荐)

if (表达式) {
    语句1
} else {
    语句2
}
语句3
// 如果语句1和语句2分别只有一条,可以省略{}大括号(不推荐)

if (表达式1) {
    语句1
} else if (表达式2) {
    语句2
} else {
    语句3
}
语句4
// else if 可以有一个或多个,else非必须出现

switch 语句

  • 根据不同的条件来决定执行不同的代码块
switch(表达式){
    case1:
        执行代码块 1
        break;
    case2:
        执行代码块 2
        break;
    default:case 1case 2 不同时,执行此处代码
}
其他语句
  • 工作原理:
    • 首先设置表达式(通常是一个变量)
    • 随后表达式的值会与结构中的每个 case 的值做比较
    • 如果存在匹配,则与该 case 关联的代码块会被执行
    • 使用 break 来阻止代码自动地向下一个 case 运行
  • 注:break关键字会导致代码执行流跳出switch语句
var age = 15
方法一:
switch(age){
    case 12:
        console.log( '12岁' )
        break // 跳出switch语句,结束语句
    case 13:
        console.log( '13岁' )
        break // 跳出switch语句,结束语句
    case 14:
        console.log( '14岁' )
        break // 跳出switch语句,结束语句
    default:
        console.log( '其他岁数' )
}
方法二:
if (age == 12){
    console.log( '12岁' )
} else if (age == 13){
    console.log( '13岁' )
} else if (age == 14){
    console.log( '14岁' )
} else {
    console.log( '其他岁数' )
}
// 利用case穿透
var age = 14
switch(age){
    case 12:
        console.log( '12岁' )
        break // 跳出switch语句,结束语句
    case 13:// 利用case穿透
    case 14:
    case 15:
        console.log( '13 14 15岁' )
        break // 跳出switch语句,结束语句
    default:
        console.log( '其他岁数' )
}

循环结构

  • 循环:指事物周而复始地运动或变化

  • 使用循环结构的一些共同特征:
    1.有规律性的重复操作
    2.重复执行的代码很相似

  • 如:输出10次’hello world’

console.log('hello world 1');
console.log('hello world 2');
console.log('hello world 3');
......
console.log('hello world 10');
  • 这样处理起来非常的费时费力,同时也会有非常多的冗余代码!
  • 假如我要输出 100次 1000次 ‘hello world’ 呢??

for 循环

语法:

for (表达式1; 表达式2; 表达式3) {
    循环体4;
}
  1. 表达式1:为不参与循环的单次表达式,用来给循环控制变量赋初值
  2. 表达式2:一般是一个关系表达式,作为循环条件(设置终止值)
  3. 表达式3:一般为循环变量增量或减量(步长)
  4. 循环体4:需要重复执行的代码
for (var i = 0; i < 5; i++) { // 增量循环
    console.log(i);
}

for (var i = 5; i >= 1; i--) {// 减量循环
    console.log(i);
}

注意:

  • for()括号中的表示式皆可以省略,但分号不可省略

  • 省略了表达式2(循环条件), 若不做其它处理则成为死循环

  • 死循环:没有终止条件并一直执行的循环即为死循环

  • for循环的嵌套,可以简单的理解为行和列的关系

  • 循环的顺序:1-2-4-3→2-4-3→2-4-3→……→2-4-3

流程控制

  1. break关键字使用在循环中,代表终止并跳出循环
  2. continue关键字使用在循环中,代表跳过本次循环
  • 结合 for 和 if 使用,实现跳过某次循环以及符合某个条件退出循环

while 循环

  • while 循环只要指定条件为 true,循环就可以一直执行代码
    语法:
while (条件){
  需要执行的代码
}

案例:小明有68元,一碗面8元,用while输出能吃多少碗面,每次吃完还剩下多少钱?

do-while 循环

  • do/while 循环是 while 循环的变体
  • 先执行一次 do {} 代码块,再执行 while () 判断
var i = 0
do{// 先执行再判断
  console.log(i)
  i++
} while(i < 5)

案例:小明只有1元,只能吃霸王餐!

for、while 和 do-while 的区别

  • for 循环一般用在循环次数可以确定的情景
  • while 循环一般用在循环次数未知的情景
  • while 循环是先判断,再执行,有可能一次都不执行
  • do/while 循环是先执行,再判断,至少执行一次代码块

思考面试题:

var k=0;
for(var i=0, v=0; i<6, v<9; i++, v++){
    k = i + v;
}
console.log(k);

var k=0;
for(var i=0, v=0; i<9, v<6; i+=2, v++){
k = i + v;
}
console.log(k);

调试语句

  • debugger语句用于停止JS
  • debugger语句可以放在代码的任何位置用以脚本中止执行,类似在代码中设置断点
for (var i = 0; i < 5; i++) {
    console.log(i)
    debugger
}

异常处理

  • ECMA规范了一些错误类型,其中Error是基类,其他错误类型是子类,都继承了基类
    • Error:自定义错误,可以通过thorw语句抛出错误
    • SyntaxError:语法错误,出现语法错误时抛出
    • ReferenceError:引用错误,读取不存在的变量时抛出
    • TypeError:类型错误,值的类型发生错误的时候抛出
    • RangeError:范围错误,数值超出合法范围时抛出
  • try/catch语句 用于处理代码中可能出现的错误信息
    • try 语句允许我们定义在执行时进行错误测试的代码块
    • catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块
console.log( '程序1' )
try {
    console.lag( '程序2' )
} catch (err) {
    console.log( err ) //错误对象
    console.log( err.name ) //错误名称
    console.log( err.message ) //错误信息
    // throw err // 抛出错误
}
console.log( '程序3' )

下一篇:17.JS基础(三)

🌸友情推荐:全栈大佬笔记     Android领域肥宅

  • 16
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值