运算符和流程控制
运算符的详细讲解见w3c
一元运算符
1 2 3 4
| 如果不参与运算,++放在前面还是后面的结果都是一样的; 如果不参与运算,--在前面还是在后面的结果都是一样的; 如果参与运算,++,--在前面的值和在后面的值可能不一样, ++在前面,先进行自身+1运算;在后面,先不+1。--同理
|
1 2 3
| var i=1; var j=i++ + i++; console.log(j);
|
1 2 3
| var i=1; var j=i++ + ++i; console.log(j);
|
1 2 3
| var i=1; var j=++i + i++; console.log(j);
|
1 2 3
| var i=1; var j=++i + ++i; console.log(j);
|
流程控制
1 2 3 4
| 1、顺序结构:从上到下,从左到右的执行顺序,就叫做顺序结构 2、分支结构:if语句,if-else语句,if-else if-else if...语句,switch-case语句, 三元表达式结构 3、循环结构:while循环,for循环,do-while循环,后期还有for-in循环
|
分支语句if
语法格式:
if语句:主要是判断
if(表达式){
代码块
}
执行过程:先判断表达式是true还是false,如果是true则执行代码块,如果是false,则大括号内的代码块是不会执行的。
if-else语句
if(表达式){
代码一
}else{
代码二
}
执行过程::如果表达式是true,则执行代码一,否则执行代码二
例子:
1 2 3 4 5 6 7
| var num1=10; var num2=20; if(num1>num2){ console.log(num1); }else{ console.log(num2); }
|
例子:判断这个数字是奇数还是偶数?
1 2 3 4 5 6
| var num=parseInt(prompt("请您输入想要测试的数字")); if(num%2==0){ console.log("不是奇数"); }else{ console.log("是奇数"); }
|
if-else-if语句
1 2 3 4 5 6 7 8 9
| if(表达式一){ 代码块1 }else if(表达式2){ 代码块2 }else if(表达式3){ 代码块3 }else{ 代码块4 }
|
注意:
1、else if——这种结构可以写多个,具体多少个看需求
2、else—是可以不用写的,具体是看需求
执行过程:先判断表达式1,如果是true,则执行代码块1 ,如果是false,判断表达式2 ,如果是true,则执行代码块2 ,否则判断表达式3,如果是true,则执行代码块3,否则执行代码4。
switch-case分支语句——多分支语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| switch(表达式或者变量){ case 值1: 代码块1; break; case 值2: 代码块2; break; case 值3: 代码块3; break; default: 代码块 *; break; }
|
执行过程:获取表达式的值,和值你比较,如果一样,则执行代码块1 ,遇到break,后面的代码就不会执行;如果表达式的值与值1不一样,就和值2比较,如果一样,则执行代码块2,遇到break就跳出,后面的代码不会执行。同理,值3—->若没有任何值和表达式的值相等,default页也是这样执行的。每条执行后,都会遇到break跳出循环。
注意:
1、default后面的内容可以省略
2、switch-case语句中和case后面的值比较的时候,采用的是严格模式
3、switch的优点在于能够清楚呈现出索要执行的结构,程序写得越长,就越能看到其优点;不过它也有缺点,就是只能执行一个条件表达式,而if-else判断结构则无此限制。
4、switch判断结构可以根据表达式或变量的值有不同的执行方向。
分支三元表达式:两个分支,最终的结果是两个分支中的一个,像这样的情况属于三元表达式
1 2
| //运算符号:变量= 条件表达式 ? 值1 :值2 var 变量名=表达式1?表达式2:表达式3;
|
执行过程:表达式1的结果是true还是false,如果是true,则执行表达式2,把最后的结果给变量;如果是false,则执行表达式3,把最后的结果给变量
例子:获取两个数的最大值(以前的方法)
1 2 3 4 5 6 7
| var num1=10; var num2=100; if(num1>num2){ console.log(num1+"是最大值"); }else{ console.log(num2+"是最大值"); }
|
总结分支语句
1 2 3 4 5 6 7 8 9 10
| 分支语句: if语句:只有一个分支 if-else语句:两个分支,但是只执行一个 if-elseif语句:多个分支,只会执行一个 switch-case语句:多分支语句,但是只执行一句,(必须要有break;) 三元表达式:和if-else语句是一样的 什么时候使用if-else if语句?一般是对范围的判断 什麽时候使用switch-case语句?一般是具体的值得判断 如果有多个分支是针对范围的,就使用if-else if语句;如果是针对具体的值,就使用switch-case语句。
|