一、运算符

1、算术运算符

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

+:求和

-:求差

*:求积

/:求商

%:取模(取余数)

开发中经常作为某个数字是否被整除

同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。

JavaScript中 优先级越高越先被执行, 优先级相同时以书从左向右执行 。

乘、除、取余优先级相同

乘、除、取余优先级大于加、减

使用 () 可以提升优先级

总结: 先乘除后加减,有括号先算括号里面的~~~

2、赋值运算符

赋值运算符:对变量进行赋值的运算符

已经学过的赋值运算符:= 将等号右边的值赋予给左边, 要求左边必须是一个容器

其他赋值运算符:

+=

-=

*=

/=

%=

3、一元运算符

自增:

符号:++

作用:让变量的值 +1

自减:

符号:--

作用:让变量的值 -1

使用场景:

经常用于 计数 来使用。 比如进行10次操作,用它来计算进行了多少次了

自增运算符的用法:

前置自增:

每执行1次,当前变量数值加1

其作用相当于 num += 1

后置自增:

每执行1次,当前变量数值加1

其作用相当于 num += 1

前置自增和后置自增 单独使用没有区别,如果参与运算有区别

前置自增:先自加再使用(记忆口诀:++在前先加)

后置自增:先使用再自加(记忆口诀:++在后后加)

4、比较运算符

比较运算符:

> : 左边是否大于右边

<: 左边是否小于右边

>=: 左边是否大于或等于右边

<=: 左边是否小于或等于右边

==: 左右两边是否相等

===: 左右两边是否类型和值都相等

!==: 左右两边是否不全等

比较结果为boolean类型,即只会得到true或false

比较运算符的细节

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

【注意】


= 和 == 和 === 怎么区别?

= 是赋值

== 是判断 只要求值相等,不要求数据类型一样即可返回true

=== 是全等 要求值和数据类型都一样返回的才是true

开发中,请使用 ===

2. 比较运算符返回的结果是什么?

结果只有2个, true 或者 false


5、逻辑运算符

javascript 乘 减 加 除 js的加减乘除_开发语言

逻辑运算符里的短路

短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行

javascript 乘 减 加 除 js的加减乘除_javascript_02

原因:通过左边能得到整个式子的结果,因此没必要再判断右边

运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值

console.log(false && 20)    //false
console.log(5 <3 && 20)    //false
console.log(undefined && 20)    //undefined
console.log(null && 20)    //null
console.log(0 && 20)    //0
console.log(10 && 20)    //20
console.log(false || 20)    //20
console.log(5 < 3 || 20)    //20
console.log(undefined || 20)    //20
console.log(null || 20)    //20
console.log(0 || 20)    //20
console.log(10 || 20)    //10

6、运算符优先级

javascript 乘 减 加 除 js的加减乘除_ecmascript_03

一元运算符里面的 逻辑非优先级很高

逻辑与比逻辑或优先级高

二、语句

1、表达式和语句

表达式: 表达式是一组代码的集合,JavaScript 解释器会将其计算出一个结果

语句: js 整句或命令, js 语句是以分号结束(可以省略)

比如: if语句 for 循环语句

区别: 表达式计算出一个值,但语句用来自行以使某件事发生( 做什么事 )

表达式

3 + 4

语句

alert() 弹出对话框

其实某些情况,也可以把表达式理解为语句,因为它是在计算结果,也是做事

2、分支语句

分支语句包含:

  • If分支语句
  • 三元运算符
  • switch 语句

if语句

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

单分支使用语法:

if(条件){
    满足条件要执行的代码
}

括号内的条件为true时,进入大括号里执行代码

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

双分支if语法:

if(条件){
    满足条件要执行的代码
}else{
    不满足条件执行的代码
}

多分支if语法:

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

释义:

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

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

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

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

注:可以写N个条件,但这里演示只写2个

三元运算符

目标:能利用三元运算符执行满足条件的语句

其实是比 if 双分支 更简单的写法,有时候也叫做三元表达式

符号:? 与 : 配合使用

语法:

条件 ? 满足条件执行的代码 : 不满足条件执行的代码

一般用来取值

switch语句

目标:能利用switch执行满足条件的语句

释义:

找到跟小括号里数据 全等 的case值,并执行里面对应的代码

若没有全等 === 的则执行default里的代码

例:数据若跟值2全等,则执行代码2

switch(数据){
    case 值1:
        代码1
        break
    case 值2:
        代码2
        break
    default:
        代码n
        break
}

1. switch case语句一般用于等值判断,不适合于区间判断

2. switch case一般需要配合break关键字使用 没有break会造成case穿透

3、循环语句

断点调试

目标: 掌握断点调试方法,学会通过调试检查代码

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

浏览器打开调试界面

1. 按F12打开开发者工具

2. 点到sources一栏

3. 选择代码文件

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

javascript 乘 减 加 除 js的加减乘除_ecmascript_04

while 循环

目标:掌握while循环语法,能重复执行某段代码

循环:重复执行某段代码, 而 while : 在…. 期间

1. while 循环语法:

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

释义:

跟if语句很像,都要满足小括号里的条件为true才会进入执行代码

while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出

2. while 循环注意事项:

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

所以, 循环需要具备三要素 :

1. 变量起始值

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

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

continue和break的区别

循环结束:

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

break:跳出所在的循环