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

相关推荐
山峰哥几秒前
SQL查询优化秘籍:从Explain分析到性能飞跃
开发语言·数据库·sql·oracle·性能优化·系统优化
世转神风-6 分钟前
qt-通信协议基础-QStirng转QByteArray-与字节序互动
开发语言·qt
程序员修心6 分钟前
CSS 选择器知识点
前端·css·css3
梦65010 分钟前
React + FullCalendar 实现高性能跨天事件日历组件
前端·react.js·前端框架
资生算法程序员_畅想家_剑魔11 分钟前
Java常见技术分享-14-多线程安全-锁机制-常见的锁以及底层实现-synchronized
java·开发语言
C_心欲无痕12 分钟前
react - 组件之间的通信
前端·javascript·react.js
Lupino14 分钟前
Node.js 与 Haskell 混合网络编程踩坑记:TCP 粘包与状态不一致引发的“死锁”
javascript·node.js
江沉晚呤时16 分钟前
构建智能代理的利器:深入解析 Microsoft Agent Framework
开发语言·c#
走粥19 分钟前
JavaScript Promise
开发语言·前端·javascript
-CRzy19 分钟前
CTF之web-信息收集
前端