黑马pink老师 2023JavaScript 第二天笔记

运算符

算术运算符

也叫数学运算符,主要包括加、减、乘、除、取余(求模)等

运算符作用
+求和
-求差
*求积
/求商
%取模(取余数),开发中经常用于作为某个数字是否被整除

注意:在计算失败时,显示的结果是 NaN (not a number)

赋值运算符–P19 赋值运算符

对变量进行赋值的运算符

= 将等号右边的值赋予给左边, 要求左边必须是一个容器

运算符作用
+=加法赋值
-+减法赋值
*=乘法赋值
/=除法赋值
%=取余赋值

一元运算符–P20 自增运算符

众多的 JavaScript 的运算符可以根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符

自增/自减运算符

符号作用说明
++自增变量自身的值加1,例如: x++
自减变量自身的值减1,例如: x–

使用场景:经常用于计数来使用。

  1. ++在前和++在后在单独使用时二者并没有差别,而且一般开发中我们都是独立使用
  2. 前置自增和后置自增如果参与运算的区别
    • 前置自增:先自加再使用(记忆口诀:++在前 先加)
    • 后置自增:先使用再自加(记忆口诀:++在后 后加)

  1. 只有变量能够使用自增和自减运算符
  2. ++、-- 可以在变量前面也可以在变量后面,比如: x++ 或者 ++x

比较运算符–P21 比较运算符

运算符作用
>左边是否大于右边
<左边是否小于右边
>=左边是否大于或等于右边
<=左边是否小于或等于右边
===左右两边是否类型都相等(重点)
==左右两边是否相等(具有隐式转换性质)
!=左右值不相等
!==左右两边是否不全等

使用场景:比较两个数据大小、是否相等,根据比较结果返回一个布尔值(true / false)

对比

  • = 单等是赋值
  • == 是判断
  • === 是全等
  • 开发中判断是否相等,强烈推荐使用 ===

注意

  • 字符串比较,是比较的字符对应的ASCII码
    • 从左往右依次比较
    • 如果第一位一样再比较第二位,以此类推
    • 比较的少,了解即可
  • NaN不等于任何值,包括它本身
    • 涉及到NaN 都是false
  • 尽量不要比较小数,因为小数有精度问题
    • 不同类型之间比较会发生隐式转换
    • 最终把数据隐式转换转成number类型再比较
    • 所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==

逻辑运算符–P22 逻辑运算符以及优先级

使用场景:逻辑运算符用来解决多重条件判断,可以把多个布尔值放到一起运算,最终返回一个布尔值

符号名称日常读法特点口诀
&&逻辑与并且符号两边都为true结果才为true一假则假
||逻辑或或者符号两边有一个true结果就为true一真则真
!逻辑非取反true变false false变true真变假,假变真

运算符优先级

优先级运算符顺序
1小括号()
2一元运算符++ -- !
3算数运算符* / %+ -
4关系运算符> >= < <=
5相等运算符== != === !==
6逻辑运算符! > && > `
7赋值运算符=
8逗号运算符,

语句–P23 if单分支语句

表达式和语句

表达式:表达式是可以被求值的代码,JavaScript 引擎会将其计算出一个结果

语句:语句是一段可以执行的代码

区别:

  • 因为表达式可被求值,所以它可以写在赋值语句的右侧
  • 而语句不一定有值,所以比如 alert() for和break 等语句就不能被用于赋值
  • 某些情况,也可以把表达式理解为表达式语句,因为它是在计算结果,但不是必须的成分

程序三大流程控制语句

  • 写几句就从上往下执行几句,这种叫顺序结构
  • 有的时候要根据条件选择执行代码,这种就叫分支结构
  • 某段代码被重复执行,就叫循环结构

分支语句

分支语句可以根据条件判定真假,来选择性的执行想要的代码

分支语句可以让我们有选择性的执行想要的代码

分支语句包含:

  1. if分支语句
  2. 三元运算符
  3. switch语句
if 分支语句

if语句有三种使用:单分支、双分支、多分支

单分支使用语法:

if(条件表达式) {
  满足条件要执行的语句
}
  • 小括号内的条件结果为 true 时,进入大括号里执行代码;为false,则不执行大括号里面代码

  • 除了 0 '',所有数字和字符串都为true(真)

  • 小括号内的结果若不是布尔类型时,会发生类型转换为布尔类型

  • 如果大括号只有一个语句,大括号可以省略

if双分支语句–P24 if双分支语句

如果有两个条件的时候,可以使用 if else 双分支语句

if (条件表达式){
  满足条件要执行的语句
} else {
  不满足条件要执行的语句
}
if 多分支语句–P25 if多分支语句

使用场景: 适合于有多个条件的时候

if(条件1){
    代码1
}else if(条件2){
    代码2
}else if(条件3){
    代码3
}else {
    代码n
}

释义:

先判断条件1,若满足条件1就执行代码1,其他不执行

若不满足则向下判断条件2,满足条件2执行代码2,其他不执行

若依然不满足继续往下判断,依次类推

若以上条件都不满足,执行else里的代码n

三元运算符(三元表达式)–P26 三元运算符

使用场景:其实是比 if 双分支更简单的写法,可以使用三元表达式

符号:? 与 : 配合使用

语法

条件 ? 满足条件执行的代码 : 不满足条件执行的代码
  • 一般用来取值
switch语句–P28 switch分支语句

使用场景: 适合于有多个条件的时候,也属于分支语句,大部分情况下和 if多分支语句 功能相同

switch(数据){
    case1:
        代码1
        break   
    case2:
        代码2
        break
    default:
        代码n
        break
}

释义:

  • 找到跟小括号里数据全等的case值,并执行里面对应的代码
  • 若没有全等 === 的则执行default里的代码

注意:

  1. switch case语句一般用于等值判断,不适合于区间判断, if 更适合于区间判断
  2. switch case一般需要配合break关键字使用,没有break会造成case穿透
  3. if 多分支语句开发要比switch更重要,使用也更多
断点调试–P29 断点调试

**作用:**学习时可以帮助更好的理解代码运行,工作时可以更快找到bug

浏览器打开调试界面

  1. 按F12打开开发者工具
  2. 点到源代码一栏 ( sources )
  3. 选择代码文件

**断点:**在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来

循环语句–P30 while循环

使用场景:重复执行指定的一段代码

while循环

while:在…. 期间,所以 while循环就是在满足条件期间,重复执行某些代码。

语法:

while (循环条件) {
   要重复执行的代码(循环体)    
}

释义:

  • 跟if语句很像,都要满足小括号里的条件为true才会进入循环体执行代码
  • while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出

循环三要素

循环的本质就是以某个变量为初始值,然后不断产生变化量,慢慢靠近终止条件的过程

  1. 初始值 (经常用变量)

  2. 终止条件(没有终止条件,循环会一直执行,造成死循环)

  3. 变量的变化量(用自增或者自减)

中止循环–P32 退出循环

break 退出循环

​ 退出整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用(提高效率)

continue 结束本次循环,继续下次循环

​ 退出本次循环,一般用于排除或者跳过某一个选项的时候, 可以使用continue

无限循环
  1. while(true) 来构造“无限”循环,需要使用break退出循环

  2. for(;;) 也可以来构造“无限”循环,同样需要使用break退出循环

条件,循环会一直执行,造成死循环)

  1. 变量的变化量(用自增或者自减)
中止循环–P32 退出循环

break 退出循环

​ 退出整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用(提高效率)

continue 结束本次循环,继续下次循环

​ 退出本次循环,一般用于排除或者跳过某一个选项的时候, 可以使用continue

无限循环

1.while(true) 来构造“无限”循环,需要使用break退出循环

2.for(;😉 也可以来构造“无限”循环,同样需要使用break退出循环

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ying英子同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值