知识点最多最详细的JS自学学习笔记(连载)第一章、条件判断语法

条件判断语法

(1) if else

if(条件1){

条件成立执行的语句

}else if(条件2){

条件2成立执行的语句

}else if(条件3){

条件3成立执行的语句

}...

else{ 以上条件都不成立执行的语句 }

1、if中的条件可以是 大于、小于、等于,还可以是一个值(判断这个值是否为真)

2、if中的条件还可以是多个小的条件组合,中间用|| (左右两边只要有一边为真就为真)和&&隔开(两边都 为真才为真)

面试题:

var num = Number("12px"); //==>NaN

if (num == 12) {

console.log(12);

} else if (num == NaN) { //NaN==NaN ==>NaN是不等于NaN的 ==>false

console.log(NaN);

} else if (typeof num == "number") { //typeof NaN ==>"number"

console.log("number");

} else {

console.log("no");

}

输出的是字符串"number"

**(2)**三元运算符

应用于最简单的if、else

**语法:**条件 ? 条件成立执行 : 条件不成了执行;

**语法:**条件 ? 件件成立执行 : void 0;

  1. 如果处理的事情比较多,可以用括号包起来,每一件事情用逗号隔开
  2. 如果不需要处理事情,可以使用null、undefined占位,或void 0

num >= 0 ? (num <= 10 ? num += 10 : void 0) : num++;

a>0 && a<20 ? (a++,console.log(a)) : null

(3) switch case

应用于一个变量在不同值情况下的不同的操作。

++在switch case中,每一种case都是用= = =来进行比较处理的,要求比较严格,只有数据类型和值都相同才为true++ ++。++

switch (num) {

case 0: //每一个case都是变量在这种值情况才的操作,此处的意思是,如果num等于0,我们执行num+=1,大家一定要记住,通常情况下,每一种case结束都要加break;

num += 1;

break;

case 5: // 如果不加break,条件会判断两个,满足这两个,就执行下面的。

case 4:

num += 5;

break; //如果不加break 后面不管条件成立否,全部执行了。

default: //和else相同,以上情况都不符合执行default

num += 20;

}

面试题

var num = "5"; var num2 = "5";

switch (num) { if (num2 == 0) {

case 0: num2++;

num += 1; } else if (num2 == 5) {//"5"==5 ==>true

break; num2 += 10; //"5"+10 ==>"510"

case 5: //"5" case 5的时候不成立 } else {

num += 10; num2 += 15;

break; } console.log(num2); //"510"

default: //default等价于else,以上条件都不成立

num += 15;

} console.log(num); //"515"


本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记。有不正确之处请各位高手多多指点,一起学习进步。【VX:czlingyun 暗号:CSDN】

相关推荐
西西学代码2 分钟前
Flutter---showCupertinoDialog
java·前端·flutter
你的眼睛會笑4 分钟前
vue3 使用html2canvas实现网页截图并下载功能 以及问题处理
前端·javascript·vue.js
多多*5 分钟前
上传文件相关业务,采用策略模式+模版方法模式进行动态解耦
java·开发语言
ZTLJQ15 分钟前
植物大战僵尸HTML5游戏完整实现教程
前端·游戏·html5
无光末阳31 分钟前
vue 环境下多个定时器的创建与暂停的统一封装
前端·vue.js
Hilaku34 分钟前
技术Leader的“第一性原理”:我是如何做技术决策的?
前端·javascript·面试
liyf34 分钟前
发布-订阅(Publish–Subscribe) vs 观察者模式(Observer Pattern)
前端
赴前尘35 分钟前
Go 通道非阻塞发送:优雅地处理“通道已满”的场景
开发语言·后端·golang
云中雾丽40 分钟前
Flutter 里的 Riverpod 用法解析
前端
weixin_456904271 小时前
以太网与工业以太网通信C#开发
开发语言·c#