一、if else 语句
定义和用法
if/else 语句在指定的条件为 true 时,执行代码块。如果条件为 false,会执行另外一个代码块。
if/else 语句是 JavaScript 条件语句的一部分, 条件语句用于基于不同的条件来执行不同的动作。
- if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码。
- else 语句 如果 if 语句的条件为false,则执行该代码块
- else if 语句 - 检测一个新的条件,如果第一个条件为false
- switch 语句 - 选择多个代码块中其中一个执行
if(判断条件){
条件成立要执行的代码
}else{
条件不成立时执行的代码
}
var m = Number('12q.23w');// NaN
// n 计算的结果是 12
// 在 if的括号里 他会先把括号里的内容转化成布尔类型,再去做判断
// if(m){
// console.log(n+1)
// }else {
// console.log(m+3);
// }
if(判断条件1){
条件1成立要执行的代码
}else if(判断条件2){
条件1不成立,条件2成立时执行的代码
}。。。
else{
俩条件都不成立时执行的代码
}
var n = parseFloat('12q.23w') + 'NaN'; // n - >'12NaN'
var m = Number('12q.23w');// NaN
// n 计算的结果是 12
// 在 if的括号里 他会先把括号里的内容转化成布尔类型,再去做判断
if(m){
console.log(n+1)
}else if(n) {
console.log(m+3);
}else {
console.log(n+'3');
}
var a = 5%3;
if(a <= 2){
b = 6
}else if(a < 0){
a = 10
}else {
a = 12;
}
二、&&(并且) ||(或)
①a&& b :如果执行a后返回true,则执行b并返回b的值;如果执行a后返回false,则整个表达式返回a的值,b不执行;
②a || b :如果执行a后返回true,则整个表达式返回a的值,b不执行;如果执行a后返回false,则执行b并返回b的值;
③&& 优先级高于 ||;
④a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回a
⑤a || b : 将a, b转换为Boolean类③型, 再执行逻辑或, true返回a, false返回b
// if(1==1 && 2 ==2)
// 条件1 && 条件2 条件1成立 返回 条件2的结果
// 条件1不成立 返回 条件1 的结果
var a = 1>2 && 2<4; //false 前边条件不成立 返回的时前边条件的结果
var a1 = 1 < 2 && 2 > 4; //false 前边条件成立;返回的时后边条件的结果
// var a1 = 1 < 2 && 2 < 4; //true 前边条件成立;返回的时后边条件的结果
var b = 1>2 || 2<4; // true 前边条件不成立;返回后边条件的结果
var b1 = 1 < 2 || 2 > 4;// true // 前边条件成立,返回前边条件的结果
console.log(a, b);
var c = 1 && 2 && 3;// 2
var c1 = 0 && 1;// 0
var c2 = -1 && 1;// 1
var d = 1 || 2;// 1
var d1 = 0 || 1;// 1
var d2 = -1 || 1; // -1
console.log(c,c1,c2, d,d1,d2);
var a = 3;
if(a){
}
if(a >= 2 && a <= 5){
console.log(1244)
if(a == 3){
console.log(3)
}
}else {
if(a == 6){
console.log(6)
}
}
== 是相对比较 会默认的把 == 两边的值转化成同一类型再去比较
=== 是绝对比较
举例子
“1” == true
类型不同,"=="将先做类型转换,把true转换为1,即为 “1” == 1;
此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;
此时,"==" 左右两边的类型都为数值型,比较成功!返回true
如果比较:“1” === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;
如果比较:“1” === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;
如果比较: 1 === 1 左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true;
三、switch case语句
定义和用法
-
switch 语句用于基于不同的条件来执行不同的动作。
-
switch 语句是 JavaScript 条件语句的一部分,用于根据不同的条件执行不同的动作。 使用 switch 从多个语句块中选择一个执行。
-
switch 语句计算每个表达式。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。
-
switch 语句通常与 break 或 default 关键字一起使用。两者都是可选的:
-
break 关键字用于跳出switch代码块。会终止switch代码块的执行。 如果忽略该关键字,swith 语句的下一个代码块会被执行。
-
default 关键字 来规定匹配不存在时做的事情。 default 关键字在 switch 语句中只能出现一次。虽然是可选参数,但是建议都使用该参数,在不是我们期望的情况下,可以使用它输出信息。
switch (true){
case m >10://若想进到这个条件里,必须让 m > 10 的值 跟 switch 条件的值绝对相等
console.log('大于10');
break;
case m < 5:
console.log("小于5");
if(m == 0){
console.log('000000')
}
break;
default:
console.log('5-10')
}
四、 for in 循环
定义和用法
for/in 语句用于循环对象属性。
循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
for/in - 循环遍历对象的属性
循环就是为了让我们不用做这些重复性的工作,让电脑去做这些重复性的工作
for( var key in obj){
key :是一个变量 对应对象里的每一个属性名
obj :是我们要循环的对象
obj[key] : 是该属性名对应的属性值
}
一般是用来 循环 普通对象
var user = {
0:'12',
1:'13',
2:'14',
name:'zfpx',
age:9,
sex:'男',
height:'180cm',
weight:'90kg'
};
var str = '';
for(var a in user){
// str = str + a + '是' + user[a] + ',';
// str = str + `${a}是${user[a]},`;
// user.a === user['a'] 去拿user下的 a 属性
str = str + `${a}是${user[a]},`;
// debugger;
}
console.log(str)
五、for 循环
循环可以将代码块执行指定的次数。
for 循环
i++ ----> i = i + 1;
i-- ----> i = i - 1;
for(var i = 0 ; i < 10; i++){
console.log(i)
}
break // 跳出整个循环
continue // 跳出当次循环
for(var i = 0; i < 10; i++){
// 第一次 i = 0 ; 0 < 10 执行内部代码
// 第二次 i++ i = 1 ; 1 < 10 执行内部代码
// 第三次 i++ i = 2 ; 2 < 10 执行内部代码
// ....
// 第九次 i++ i = 8 ; 8 < 10 执行内部代码
// 第10次 i++ i = 9 ; 9 < 10 执行内部代码
// 第11次 i++ i = 10 ; 10 < 10 跳出循环
if(i == 5){
// break;
continue;
}
// console.log(i);
};
六、 while 循环
While 循环会在指定条件为真时循环执行代码块。
一般用我们不知道要循环多少次的时候用
var a = 3;
//当 a 大于 0 的时候 我要干嘛
//一般用我们不知道要循环多少次的时候用
while (a > 0){
console.log(a);
a = a - 0.1;
}//wuile 一定要设置条件不成立的边界,若没有边界,就是死循环。
//他一般适用于不知道要循环多少次的情况。