JavaScript 基础篇运算符与表达式

运算符

算术运算符

算术运算符就是我们常用的 加、减、乘、除、取余等内容,不过在计算机的程序中首先记住一个问题:浮点数的运算是有精度的问题,尽量避免浮点之间的运算,不能拿浮点数进行相加或者相减

 

  • 加法:+

  • 减法:-

  • 乘法:*

  • 除法:/

  • 取余:%

// + 号 操作console.log(1 + 1)  // 2
// - 号 操作console.log(5 - 3) // 2
// * 号 操作console.log(1 * 2) // 2
// / 号 操作console.log(4 / 2) // 2
// 判断一个数是否被整除console.log(4 % 2 === 0) // true
// 浮点数不能进行 相加或者相减 因为有精度的问题console.log(0.1 + 0.2) // 0.30000000000000004console.log((0.1 + 0.2) === 0.3)  // 因为精度问题

注意:取余也是常用的符号

递增递减运算符

运算符写在前面 例如: ++num 表示(num+1)

前置递增: ++num (先加 1 然后将结果返回)

后置递增: num++ (先返回原值,然后加 1)

前置递减: --num

可以自己在编辑器中尝试尝试。前置递增和后置递增在对变量值中运用是不一样的。

比较运算符

比较运算符是用来比较左边和右边两个变量或者值是否相等,在将来工作的业务会很常用 if 判断+比较运算符来判断是否执行某个选项。前端培训

  • 大于:>

  • 小于:<

  • 大于等于:>=

  • 小于等于:<=

  • 相等:==

  • 不相等:!=

  • 不全等:!==

  • 全等:===

// 判断是否大于一个数var num = 5if (4 < 5) {  console.log('我被执行了')}
// 可以自己在编辑器中尝试下以下操作符返回 true 还是 falseconsole.log('5' == 5)onsole.log('5' === 5)...等等,可以自己在编辑器中试一试

不过需要注意的是 一个等于、两个等于、和三个等于分别代表的是什么

- = : 一个等于代表赋值 例如: var num = 4

- == : 两个等于代表判断两个是否相等

- === : 三个等于代表 判断两边的值和数据类型是否完全相同

逻辑运算符

逻辑运算符中用的比较多的是逻辑或和逻辑与,这两者也是相当重要的一部分,在未来的工作上是非常常用的。因为牵扯到判断所以在未来 if (false && true) 这种类型的判断是非常常见。在逻辑运算符中逻辑中断(短路)也是一个非常状态

  • &&:逻辑与(and):逻辑与 && and 两个都是为 true 的话结果才是 true,只要有一侧为 false,结果就是 false

对于逻辑与,逻辑中断形式如下:

如果第一个表达式的值为真,则返回第二个表达式

如果一个表达式的值为假,则返回第一个表达式(相当于第一为假的话,第二个不计算)

  • ||:逻辑或(or):逻辑或 || or 两侧都是 false 的话结果才是 false,只要有一侧是 true 结果就是 true

  • !: 逻辑非(not):意思是取反,!true 表示 false,!false 表示 true

短路运算符(逻辑中断):短路运算原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值

赋值运算符

赋值运算符意思是对变量进行赋值,分为 =、+=、-=、*=、/=、%=等这些运算符,表示的是 赋值,不过需要注意的是

// 在赋值运算符值,需要格外注意简写的形式// 乘除取余等 都可以这样简写var = var + 1  可以简写为:  var += 1

运算符的优先级

  1. 小括号 —— ()

  2. 一元运算符 —— ++,--,!

  3. 算术运算符 —— 先乘除后加减

  4. 关系运算符 —— > >= < <=

  5. 相等运算符 —— == != === !==

  6. 逻辑运算符 —— 先 && 后 ||

  7. 赋值运算符 —— =

  8. 逗号 —— ,

逻辑与 要比 逻辑或的权重高

流程控制

流程控制可以想象成一个流程,如果这个流程中是 false 的话就不执行这个流程中的内容,如果是 true 的话就执行这个流程中的内容,在流程控制中最重要的还是 if,当然也会少量的运用到 switch...case 等,还有一个比较重要的三元表达式,在工作当中很常用。

分支语句 if

// 普通 if else 语句
if (true) {  console.log('我被执行了')} else {  console.log('我没有被执行')}
// if else if   else if (false) {  console.log('我没有被执行')} else if (false) {  console.log('我也没有被执行了');} else {  // 因为前两段都是false ,所以执行了第三段  console.log('我被执行了')}

switch...case

switch 语句和 if...else 语句比较的类似,也是执行判断逻辑。但是相比 if 语句不常用。因为 if..else 语句更灵活,效率更高一点。

// switch 表达式
switch (表达式) {  case value1:      执行语句1;      break;  case value2:      执行语句2;      break;  default:      执行最后的语句;}

三元表达式

三元表达式相当于是对 if 等判断语句的简写形式,工作中会常用三元表达式来做简单的判断,因为相对 if 和 switch 判断更多写在方法中,而三元表达式更多写在组件中。

一般是由这样的形式组成:num > 5 '是的' : '不是'

// 三元表达式var num = 10;var result = num > 5 '是的' : '不是'console.log(result)  // 是的
posted @ 2021-11-24 17:46  Linux运维阿铭  阅读(63)  评论(0编辑  收藏  举报