JavaScript学习笔记(二):代码块和流程控制语句

目录

一、语句

1. 代码块

2. 流程控制语句

2.1 条件判断语句(if 语句)

2.2 条件分支语句

2.3 循环语句


一、语句

我们的程序是由一条一条语句构成的。

1. 代码块

语句是按照自上向下的顺序执行的,在JS中可以使用{}来为语句进行分组。同一个{}中的语句我们称为是一组语句,它们要么都执行,要么都不执行。一个{}中的语句我们也称为一个代码块,在代码块的后边就不用再编写;了。

JS中的代码块,只有分组的作用,没有其他的用途。

代码块内部的内容,在外部是完全可见的。

2. 流程控制语句

通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行。

包括:

条件判断语句、条件分支语句、循环语句

2.1 条件判断语句(if 语句)

使用条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则语句不执行。

if 语句

语法一:

if (语句表达式)
    语句;

如果条件表达式的值为true,则执行if后面的语句;如果值为false,则不执行。

if语句只能控制紧随其后的那个语句,如果希望if语句可以控制多条语句,可以将这些语句统一放到代码块中。if语句后的代码块不是必须的,但是开发中尽量写。

let a = 15;

if(a > 10 && a <= 20) {
    alert("a大于19,小于等于20");
}

语句二:

if (条件表达式) {
    语句...
} else {
    语句...
}

if ... else ...语句:

条件表达式的值为true,则执行 if 后的语句,false,则执行 else 后的语句。

语句三:

if (条件表达式) {
    语句...
} else if (条件表达式) {
    语句...
} else if (条件表达式) {
    语句...
} else {
    语句...
}

prompt()函数

prompt()函数可以弹出一个提示框,该提示框中会带有一个文本框,用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,该字符串将会作为提示框的提示文字。

用户输入的内容将会作为函数的返回值,可以定义一个变量来接收该内容。

let score = prompt();
// prompt()函数的返回值是String类型的
// 与数值进行比较时会隐式转换成Number
let height = prompt("身高:");
// let height = +prompt();
let money = prompt("财富:");
let face = prompt("颜值:");

if (height > 100 && money > 1000 && face > 500) {
    alert("嫁!")
} else if (height > 100 || money > 1000 || face > 500) {
    alert("嫁吧")
} else {
    alert("不嫁")
}

2.2 条件分支语句

条件分支语句也叫switch语句。

switch语句

switch (条件表达式) {
    case 表达式;
        语句...
        break;
    case 表达式;
        语句...
        break;
    case 表达式;
        语句...
        break;
    default 表达式;
        语句...
        break;
}

在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较。

如果比较结果为true,则从当前处执行代码,当前case后的所以代码都会被执行。

如果比较结果为fasle,则继续向下比较。

使用break可以退出switch语句,如果所有的比较结果都是false,则只执行default后的语句。

switch语句和if语句的功能实际上有重复的,使用switch可以实现if的功能,使用if也可以实现switch的功能,使用时,看自己的使用习惯。

switch (true) {
    case score >= 60:
        console.log("合格");
        break;
    default:
        console.log("不合格");
        break;
}

2.3 循环语句

通过循环语句可以反复的执行一段代码多次。

while循环

语法:

while (条件表达式) {
    语句...
}

先对条件表达式进行求值,若值为true,则执行循环体,循环体执行完毕后,继续对表达式进行判断,若为true,则继续进行判断;如果值为false,则停止循环。

创建一个循环,往往需要三个要件。

// 1. 初始化一个变量
let i = 0;

// 2. 在循环中设置一个条件表达式
while (i < 19) {
    alert(i);
    // 3. 定义一个更新表达式,每次更新初始化变量
    i++;
}

do...while循环

语法:

do {
    语句...
} while (条件表达式);

do...while执行时,先执行循环体,再判断条件表达式;while先判断条件表达式再执行循环体。

do...while可以保证循环体至少执行一次。

for循环

for语句,也是一个循环语句,也称为for循环。

在for循环中,为我们提供了专门的位置用来放三个表达式:

1. 初始化表达式

2. 条件表达式

3. 更新表达式

语法:

for (初始化表达式;条件表达式;更新表达式) {
    语句...
}
// while 语句
let i = 0;

while (i < 10) {
    alert(i++);
}


// for 语句
for (i = 0; i < 10; i++) {
    alert(i)
}

for循环的执行流程:

1. 初始化表达式,初始化变量

2. 执行条件表达式判断是否执行循环:如果为true,执行循环,false则终止循环

3. 执行更新表达式,更新表达式执行完毕继续重复步骤2

for循环中的三个部分都可以省略,也可以写在外部。

嵌套的for循环

// 通过一个for循环来输出图形
for (let i = 0; i < 5; i++) {
    document.write("*****<br />");
}


// 在循环的内部再创建一个循环,用来控制图形的宽度
for (i = 0; i < 5; i++) {
    for (let j = 0; j < i+1; j++) {
        document.write("*&nbsp;&nbsp;&nbsp;");
    }
    document.write("<br />");
}

打印九九乘法表

for (i = 0; i <= 9; i++) {
    for (let j = 0; j <= i; j++) {
        document.write("<span>"+j+"*"+i+"="+i*j+"<span />");
    }
    document.write("<br />");
}

break和continue

break关键字可以用来退出switch或循环语句。

不能在if语句中使用break和continue。

break关键字会立即终止离他最近的那个循环语句。

可以为循环语句创建一个label,来标识当前的循环。

label:循环语句

使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的。

label:
for () {
    for () {
        语句;
        break label;
    }
}

continue关键字可以用来跳过当次循环,同样continue也是默认只会对最近的循环起作用。

console.time()和console.timeEnd()

console.time("计时器的名字")可以用来开启一个计时器。它需要一个字符串作为参数,这个字符串将会作为计时器的标识。

console.timeEnd("计时器的名字")用来结束该计时器。

Math.sqrt()

可以通过Math.sqrt()对一个数进行开方。


学习的是B站尚硅谷的视频课程:

尚硅谷JavaScript基础&实战丨JS入门到精通全套完整版

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值