运算符及表达式及条件控制语句

文章详细介绍了JavaScript中的各种运算符,包括算数运算符(涉及字符串与NaN的处理)、自增自减运算符的前置与后置区别、逻辑运算符(短路效应)以及比较运算符。此外,还讨论了条件控制语句,如IF单分支、双分支、多分支和SWITCH语句的执行逻辑,以及三元表达式的使用方法。
摘要由CSDN通过智能技术生成

一、运算符

1.算数运算符

  1. 在加法的时候如果出现字符串那么返回的绝对是一个字符串
  2. 在其他相关的操作的时候会强制将其他的类型转换为number类型再进行运算
  3. 如果在基础运算中没有出现字符串 而出现了NaN那么结果必定是NaN(NaN不能进行算数运算)

++和--前置后置的区别

  1. ++是自增 (在原本的基础上加1会改变原本的值)--是自减(在原本基础上减1 会改变原本的值)
  2. ++前置是先进行加1的操作 再执行后续的代码++后置先执行本行的的代码再进行加1的操作

逻辑运算符

  1. &&全部都为true才是true取最后一个true 只要一个为false那么对应的结果就是false取的是第一个false
  2. ||只要有一个是true结果就是true那么取得是第一个true全部是false才是false取最后一个false
  3. !进行boolean类型的强制转换 取反将true变false false变成true
  4. 短路与&&到达为false后面的不执行 短路或||到达为true后面的不执行

比较运算符

  1. 返回的值都是boolean类型的值
  2. “1”==1比较值“1”!==1 比较值的同时比较类型
  3. NaN!=NaN
  4. 出现NaN大部分都是false(!=)
  5. 任意类型和数值进行比较会被转为数值
  6. 字符串和字符串比较那么比较的是acsii码(从第一位开始比较 大写A 65 小写a 97)

赋值运算符

  1. 赋值运算最后执行
  2. += -= *= ...都是会在原本的基础上进行赋值

表达式

表达式就是由运算符拼接的公式

  1. 算法运算符拼接的表达式算术表达式
1+1
  1. 比较运算符拼接的表达式 条件表达式(转为boolean类型)

1+1>2

  1. 逻辑运算符拼接的表达式 关系表达式

1+1>2 && 1+2=3

条件控制语句

概述:

程序控制语句所有的语言都具备,主要为循环控制语句(循环执行)和条件控制语句(根据不同的条件执行不同的内容)

常用的条件控制语句

  • if else (传递条件表达式 根据条件表达式来判断)
  • switch case (空间复杂度大于if else 时间复杂度小于if else 传入一个值 根据来进行匹配)

二、逻辑分支IF

执行思路 : 如果if里面的条件表达式结果为真true则执行大括号里面的执行语句

如果if条件表达式结果为假则不执行大括号里面的语句 则执行if后面的代码

1.IF单分支

if条件判断语句的写法:

if (表达式){

执行语句

}

当括号内的表达式结果成立(为true时),则执行大括号内的语句,否则不执行。注意:

1. if后面的()不能省略。

2. 一条执行语句可以省略{}, 多条时不能省略{}, 建议不管是一条还是多条都写上{}

2.IF双分支语句

if双分支语句的写法:

if(表达式){

执行语句1 (如果条件成立,就执行这里的代码)

} else{

执行语句2 (如果条件不成立,就执行这里的代码)

}

当if括号内的表达式结果成立,进入执行语句1,否则进入执行语句2;

//算法:能被4整除且不能整除100的为闰年(如2004年就是闰年,1901年不是闰年)或者能够被400 整除的就是闰年
//弹出prompt 输入框,让用户输入年份,把这个值取过来保存到变量中
//使用if 语句来判断是否是闰年,如果是闰年,就执行 if 大括号里面的输出语句,否则就执行else里面的输出语句
//一定要注意里面的且&&还有或者||的写法,同时注意判断整除的方法是取余为日


var num = prompt('请输入年份')
if (num % 4 == 0 && num % 100 != 0 || num % 400 == 0) {
  alert('您输入的是闰年')
} else {
  alert('您输入的是平年')
}
// 接收用户输入的姓名,来判断是否中奖,如果输入的是刘德华,则提示中了5块钱,否则提示没有中奖。
var nun = prompt('请输入')
if(nun == "蔡徐坤"){
  alert("恭喜你获得kiun勋章一枚")
}else{
  alert('你不是ikun')
}

3.IF多分支语句的写法:

if(表达式){

执行语句1

}

else if(表达式2){

执行语句2

}

else if(表达式3){

执行语句3

}

else{

执行语句n

}

  1. (从上往下,满足哪个条件就执行其相对应的语句,都不满足时,执行最后的else的语句,只能进入其中之一。)

【注意】

  1. 多分支语句还是多选1 最后只能有一个执行
  2. else if 里面的条件理论上是可以任意多个的
  3. else if 中间有个空格了
  4. if else允许多层嵌套 但是建议嵌套层级不要超过两层

注意事项

  1. if else 它只会进入其中一个条件 不会同时进入两个同级的代码块
  2. if 里面的条件可以为表达式也可以为值但是都会被转换为boolean类型
  3. f else允许多层嵌套 但是建议嵌套层级不要超过两层、

4.逻辑分支Switch

switch(表达式) {

case 常量1: 语句; break;

case 常量2: 语句; break;

case 常量n: 语句; break;

default:语句; break;}(结束语句)

    1. switch 的值比对用到的是=== 必须要类型和值都一致
  1. break的作用:是跳出switch结构,如果没有break,则继续执行下面分支的的语句(而不进行判断)。注意case穿透,要加break
  2. switch的应用场景: 表达式为固定值, 不能判断范围
  3. switch适合实际的值的列举if使用范围内容条件判断
  4. switch 空间复杂度高于if switch时间发杂度低于if
  5. 每个case块都是一个分支如果没有break那么进入下一个分支
  6. switch 不适用于范围内的比对
  7. default 默认的执行 上面都不满足的情况下执行

5.三元表达式

  1. 有三元运算符组成的式子我们称为三元表达式
  2. ++num 3 + 5 ? :
  3. 语法结构

条件表达式 ? 表达式1 : 表达式2

  1. 执行思路

如果条件表达式结果为真 则 返回 表达式1的值 如果条件表达式结果为假 则返回表达式2的值

5.代码体验

var num =10;
var result = num > 5 ? '是的' : '不是的'//我们知道表达式是返回值的
console.log(result);
// 用户输入数字,如果数字小于10,则在前面补0,比如01, 09,如果数字大于10,则不需要补,比如20。
var num = prompt('请输入一个数');
var num2 = num<10 ?'0'+num :num;
alert(num2)

6.switch

  1. switch语句也是多分支语句 也可以实现多选1
  2. 语句结构 switch 转换、开关 case 小例子或者选择的意思(break是退出的意思)
  3. 执行思路 利用我们的表达式的值 和 case 后面的选项值相匹配 如果匹配上,就执行case里面的语句 如果都没匹配上,那么执行 default里面的语句

【注意事项】

  1. 我们开发里面 表达式我们经常写出变量、
  2. 我们num 的值 和 case 里面的值相匹配的时候是 全等 必须是值和类型一致才可以 num===1
  3. break 如果当前的case里面没有break 则不会退出switch 是继续执行下一个case
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值