![](https://img.kancloud.cn/74/49/7449dc533696128a25555a676c37931e_1068x545.png)
1.
~~~
/*
* 编程语言中最常用的判断:if、else if、else
*/
let x = 10;
if (x) {
// 条件(验证真假的过程):
// x==10 x===10 x>10 x<10 x>=10 ...
// x 把当前值转换为布尔类型验证真假
// x>=0 && x<=10 或者 x==1 || x==2
// ....
x++;
} else {
// 以上条件都不成立,执行else
x--;
}
console.log(x);
let x = '10';
if (x == 1) {
x += 1;
} else if (x == 5) {
x += 2;
} else if (x == 10) { //=>'10'==10 把字符串转换为数字 条件成立
x += 3;
// x = x + 3 => '103'//字符串拼接
} else {
x += 4;
}
console.log(x);
~~~
2.
~~~
// 三元运算符:处理最简单的 if \ else 情况的
// 条件?成立处理的事情:不成立做的事情;
// let x = 10;
if (x>=10) {
x++;
} else {
x--;
}
x >= 10 ? x++ : x--;
console.log(x);
// 在条件成立或者不成立的时候,如果不想做一些事情,则使用null/undefined等来占位即可;不占位会报错;
let x = 10;
if (x == 10) {
x++;
}
let x = 10;
x == 10 ? x++ : null;
// 如果需要做多件事情,则用小括号包起来,每一件事情中间用逗号分隔即可
// let x = 10;
if (x > 0) {
x++;
console.log(x);
}
x > 0 ? (x++, console.log(x)) : null; //用逗号分割
// 可以根据需求完成三元运算符的嵌套
let x = 10;
if (x > 0) {
if (x < 10) {
x++;
} else {
x--;
}
} else {
x--;
}
x > 0 ? (x < 10 ? x++ : x--) : x--;
~~~
3.
~~~
// 一个变量在不同值情况下的不同操作,我们可以改写为 switch case 判断(他只能应用于等于什么值做什么事情,不能用户大于或者小于啥值做啥)
let x = '10';
if (x == 1) {
x += 1;
} else if (x == 5) {
x += 2;
} else if (x == 10) {
// 条件成立
x += 3;
} else {
x += 4;
}
console.log(x); =>'103'
let x = '10';
switch (x) {
case 1: //=>在x等于1的情况下做什么
x += 1;
break; //=>每一种情况结束都要设置break(以供当此条件成立并处理完事情后,通知代码不在向下执行)
case 5:
x += 2;
break;
case 10: //=>'10'===10 FALSE
x += 3;
break;
default: //=>等价于else,而且最后一个判断结束无需设置break
x += 4;
}
console.log(x); //=>'104' 每一种case情况都是基于 === 进行比较的(严格比较,需要保证数据类型的一致)
~~~
- 0001.开课说明
- 0002.ECMAScript的发展历程
- 0003.WEB2.0时代-服务器端渲染,前后端不分离
- 0004.WEB2.0时代-前后端分离模式
- 0005.大前端时代概述
- 0006.前端需要的技术栈和学习技巧
- 0007.浏览器
- 0008.JS的三部分组成
- 0009.JS中创建变量的6种形式
- 0010.JS中变量的命名规范
- 0011.JS中的数据类型分类
- 0012.JS中常用的几种输出方式
- 0013.number属性类型详细解读1
- 0014.number数据类型详细解读2
- 0015.string数据类型详细解读1
- 0016.string数据类型详细解读2
- 0017.boolean数据类型详细解读
- 0018.object数据类型详细解读1
- 0019.object数据类型详细解读2
- 0020.谈谈学习
- 0021.数据类型检测
- 0022.浏览器底层渲染机制(堆栈内存和数据类型区别)
- 0023.关于数据类型区别的面试题
- 0024.课后作业讲解:数据类型转换
- 0025.课后作业讲解:堆栈内存处理
- 0026.课后作业讲解:阿里的一道经典面试题
- 0027.JS中三种常用的判断语句
- 0028.小实战:开关灯特效
- 0029.FOR循环和FOR IN循环
- 0030.课后作业讲解:关于循环判断和数据转化
- 0031.课后作业讲解:关于DOM对象的深入理解
- 0032.关于元素集合的相关操作(奇偶行变色)
- 0033.课后作业讲解:逻辑思维判断题
- reset.min.css
- 0034.(复习)前四天内容的综合复习梳理
- 0035.初窥函数:函数的作用、语法、形参
- 0036-0038.选项卡案例
- 0039.隔行变色案例:进一步强化自定义属性编程思想
- 0040.其它作业题的讲解(自定义属性强化)
- 0041.函数创建和执行的堆栈运行机制
- 0042.函数中的形参和实参
- 0043.函数中的实参集合ARGUMENTS
- 0044.函数中的返回值RETURN
- 0045.箭头函数和匿名函数
- 0046.两个等于比较时候的数据类型转换规则
- 0047.数组的基础结构和常规操作
- 0048.数组常用方法:增删改的五个方法
- 0049.数组常用方法:查询、拼接、转换为字符串
- 0050.数组常用方法:检测是否包含、排序和迭代
- 0051.数组去重:双FOR循环(数组塌陷和SPLICE删除优化)
- 0052.数组去重:对象键值对方式(ES6中SET)
- 0053.Math数学函数对象中常用的方法
- 0054.String字符串中常用的方法
- 0055.实战案例:时间字符串格式化
- 0056.实战案例:queryURLParams1
- 0057.实战案例:queryURLParams2
- 0058.实战案例:获取四位不重复的验证码
- 0059.阶段作业题讲解1(基础知识)
- 0060.阶段作业题讲解2(实战案例)
- 0061-0062.DOM操作中相关知识的复习
- 0063.DOM中的节点操作1
- 0064.DOM中的节点操作2
- utils
- 65.关于DOM的增删改