if语句:
在指定的条件成立时执行代码,在条件不成立时执行else后的代码
语法格式1:
if(条件表达式){
//表达式成立执行的语句组;
}else{
//条件表达式不成立时执行的语句组;
}
语法格式2:
if(条件表达式1){
//表达式1成立的情况下执行的操作
}else if(条件表达式2){
//表达式1不成立,表达式2成立时执行的操作
}...else if(条件表达式n){
//条件表达式n之前所有条件不成立,表达式n条件成立执行的操作
}else{
//以上表达式都不成立执行的操作
}
switch语句,语法如下:
switch (表达式) {
case 数值1:
执行语句1;
break;
case 数值2:
执行语句组2;
...
default <语句组>
}
注:Switch必须赋初始值,值与每个case值匹配。满足执行该 case 后的所有语句,并用break语句来阻止运行下一个case。如所有case值都不匹配,执行default后的语句。
for语句:
很多事情不只是做一次,要重复做。如打印10份试卷,每次打印一份,重复这个动作,直到打印完成。这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码。语法如下:
for(初始化变量;条件表达式;变量执行的操作){
//循环体;
}
for/in语句:
循环用于遍历数组或对象的属性(即进行循环操作)
数组:
-
通过中括号包裹;‘
-
每一项之间使用逗号隔开
-
通过数组中的索引值取到对应的项,数组中的索引(下标、角标)从0开始
-
示例如下:
var arr = [12,"Hello",true,"您好",2.5]; for (let index in arr) { console.log(arr[index]); //这里,index是数组下标,arr是声明的数组的名称,let可以省略 }
对象: 1. 通过花括号进行包裹 2. 以键值对的格式存储 键名(key):键值(value) 3. 取值时,通过变量名.键名获取对应的键值 4. 示例如下:
var student = {stuName:"朱亚文",stuSex:"男",stuAge:"35"};
var stuDes = "";
for(index in student){
stuDes += student[index] + " ";
}
console.log(stuDes);
关于键名的命名:
- 合法的命名:类似于变量 stuName:"张三" 取值方式 变量名.键名
- 不合法的命名:带双引号 "stuAge":"23" 取值方式 变量名['键名']
while语句:
和for循环有相同功能的还有while循环, while循环重复执行一段代码,直到某个条件不再满足,语法如下: while(条件表达式){ //执行语句 //初始化变量执行的操作 }
var a = 10;
while(a > 0){
alert(a);
a--;
}
do-while语句:
do while结构的基本原理和while结构是基本相同的,但是它保证循环体至少被执行一次。因为它是先执行代码,后判断条件,如果条件为真,继续循环。语法如下: do{ //执行语句 //初始化变量执行的操作 }while(条件表达式)
var a = 0;
do{
doucument.write(a);
a++;
}while(a<10)
跳转语句:
一般情况下,只要条件成立,循环体中的语句将被执行,直到条件表达式不成立时才会停止;为了能在循环中直接控制循环中断或跳过本循环直接进入下一轮循环,JavaScript提供了break和continue语句。
- break语句:在while、for、do..。while、while循环中使用break语句退出当前循环,直接执行后面的代码。语法如下:
for(初始条件;判断条件;循环后条件值更新){
if(特殊情况){
break;
}
循环代码
}
示例:
var i = 10;
while(i>0){
if( i == 4){
break;
}
doucument.write(a+",");
i--;
}
-
continue语句:continue的作用是仅仅跳过本次循环,而整个循环体继续执行。语法如下:
for(初始条件;判断条件;循环后条件值更新){
if(特殊情况){
continue;
}
循环代码
}
示例:
var i = 10;
while(i>0){
if( i == 4){
continue;
}
doucument.write(a+",");
i--;
}
使用for循环和while循环都可以去实现问题,那么到底两者之间有什么区别?
- 从内存角度考虑:局部变量在栈内存中存在,当for循环语句结束,那么变量会及时被gc(垃圾回收器)及时的释放掉,不浪费空间,如果使用循环之后还想去访问循环语句中控制那个变量,使用while循环
- 从应用场景角度考虑:如果一个需求明确循环的次数,那么使用for循环(开发中使用for循环的几率大于while循环);如果一个需求,不知道循环了多少次,使用while循环
案例:
输出九九乘法表
输出直角三角形
*
**
***
****
输出倒三角
****
***
**
*
拓展:
js中的垃圾回收机制
- JS解释器和C#,java的运行环境一样有垃圾回收机制,程序员不需要手动跟踪释放内存。
- 垃圾回收机制:就是释放那些不再使用的变量。什么是不再使用?就是生命周期结束的变量,可能是全局的和局部的。