目录
一、语句
我们的程序是由一条一条语句构成的。
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("* ");
}
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站尚硅谷的视频课程: