知识点最多最详细的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】

相关推荐
王俊山IT12 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。14 分钟前
c++多线程
java·开发语言
小政爱学习!16 分钟前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
魏大帅。21 分钟前
Axios 的 responseType 属性详解及 Blob 与 ArrayBuffer 解析
前端·javascript·ajax
花花鱼28 分钟前
vue3 基于element-plus进行的一个可拖动改变导航与内容区域大小的简单方法
前端·javascript·elementui
k093331 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
神奇夜光杯39 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue41 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
plmm烟酒僧43 分钟前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
EricWang13581 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端