前端开发必备:JavaScript 基础知识(二)

在前一篇中📕前端开发必备:JavaScript 基础知识(一),我们学习了变量、数据类型和基本语法结构。本文将深入探讨运算符与表达式的核心用法,帮助你掌握代码中的数学计算、条件判断和逻辑操作。

运算符与表达式

算术运算符

算术运算符接收两个数字类型的操作数,并返回一个数字类型的算术运算结果。

在 JavaScript 中,算术运算符共有 6 种:加 +、减 -、乘 *、除 /、取余 %、求幂 **

算术运算符的使用

新建一个 index .html文件,在 <script> 标签内写入以下内容:

console.log(1 + 2)    // 1 + 2 = 3
console.log(7 - 5)    // 7 - 5 = 2
console.log(6 * 3)    // 6 * 3 = 18
console.log(8 / 2)    // 8 / 2 = 4
console.log(9 % 2)    // 9 % 2 = 1
console.log(2 ** 3)   // 2 ** 3 = 8

 控制台的输出结果如下:

 

加法运算符的功能

在 JavaScript 中,加法运算符与其他算术运算符不同,还可以接收两个字符串类型的操作数,并返回字符串的拼接结果。如果只有一个操作数是字符串类型,那么另一个操作数将被强制转换为字符串类型进行拼接。

字符串的拼接
console.log('net' + 'work') // 输出:network

console.log('24' + 'hours') // 输出:24hours
console.log(24 + 'hours')   // 输出:24hours

console.log('number' + '1') // 输出:number1
console.log('number' + 1)   // 输出:number1

 控制台的输出结果如下:

只要加法运算符的两个操作数中有一个为字符串类型,就会执行字符串拼接操作。此时另一个操作数不论是什么类型,都会被强制转换为字符串类型。

运算符的优先级

在 JavaScript 中,各种算术运算与现实一致,存在不同的优先级:先乘除,后加减,同级运算从左至右。

示例:

let a = 50 + 10 / 8
console.log(a)  // 输出:51.25

此时,先计算 10 / 8,结果为 1.25,再计算 50 + 1.25,结果为 51.25

控制台的输出结果如下:

为了控制运算的先后次序,我们可以使用圆括号将需要先运算的部分包裹起来。

let a = (50 + 10) / 8
console.log(a)  // 输出:7.5

控制台的输出结果如下:

此时,先计算 50 + 10,结果为 60,再计算 60 / 8,结果为 7.5

比较运算符

比较运算符接收两个操作数,根据特定的规则进行比较,判断为真或为假,返回一个布尔类型的值。

在 JavaScript 中,各种比较运算符的名称及功能如下:

运算符名称功能
==相等当两侧操作数相等时返回 true,否则返回 false
!=不相等当两侧操作数不相等时返回 true,否则返回 false
===全等当两侧操作数相等且类型相同时返回 true,否则返回 false
!==不全等当两侧操作数不相等或类型不相同时返回 true,否则返回 false
<小于当左侧操作数小于右侧操作数时返回 true,否则返回 false
<=小于等于当左侧操作数小于或等于右侧操作数时返回 true,否则返回 false
>大于当左侧操作数大于右侧操作数时返回 true,否则返回 false
>=大于等于当左侧操作数大于或等于右侧操作数时返回 true,否则返回 false

比较运算符的使用

新建一个 index.html文件,在 <script> 标签内写入以下内容:

console.log('2 > 3 的结果为 ' + (2 > 3))      // false
console.log('4 < 5 的结果为 ' + (4 < 5))      // true
console.log('3 >= 1 的结果为 ' + (3 >= 1))    // true
console.log('3 <= 1 的结果为 ' + (3 <= 1))    // false
console.log('4 == 0 的结果为 ' + (4 == 0))    // false
console.log('5 != 4 的结果为 ' + (5 != 4))    // true
console.log('0 !== true 的结果为 ' + (0 !== true))    // true
console.log('0 === true 的结果为 ' + (0 === true))    // false

注意:为了先执行比较运算、再执行字符串拼接,我们需要使用圆括号控制运算顺序。

控制台的输出结果如下:

逻辑运算符

在 JavaScript 中,逻辑运算符包括:与 &&、或 ||、非 !

这些逻辑运算的真值表如下:

其中,pq 代表两个布尔类型的值,1 代表 true0 代表 false

示例:

console.log(true || false)    // true
console.log(true && false)    // false
console.log(!true)            // false

其实,逻辑运算符的操作数不必为布尔类型,结果也可能不是布尔类型:

运算符名称功能
&&逻辑与当左侧操作数不能转换为 true 时将其返回,否则返回右侧操作数
||逻辑或当左侧操作数可以转换为 true 时将其返回,否则返回右侧操作数
!逻辑非当操作数可以转换为 true 时返回 false,否则返回 true

注意:对于逻辑与、或运算,如果左侧操作数满足相应条件,那么右侧操作数根本不会被求值。这称为逻辑运算符的短路特性

逻辑运算符的使用
console.log('0 && 1 的结果为 ' + (0 && 1))    // 0
console.log('0 || 1 的结果为 ' + (0 || 1))    // 1
console.log('!1 的结果为 ' + !1)              // false

控制台的输出结果如下:(0为false 1为true)  

 

条件运算符

条件运算符也叫三目运算符,可以用来判断条件的真假,根据真假执行不同的语句。

在 JavaScript 中,条件运算符的使用方式如下:

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

如果「条件表达式」的值可以转换为 true,那么返回「表达式 1」的值,否则返回「表达式 2」的值。  

条件运算符的使用
const age = 20
console.log(age >= 18 ? '已成年' : '未成年')    // 已成年

控制台的输出结果如下:

由于 age 变量的值为 20,故条件表达式 age >= 18 的值为 true,所以条件运算符返回 已成年

赋值运算符

赋值运算符(=)用于将值分配给变量。

对于以下示例:

let answer
answer = 42
console.log(answer)     // 42

对于未初始化的变量 answer,经过赋值操作后,其值变为 42

在 JavaScript 中,还存在其它几种赋值运算符,如下所示:

运算符名称功能
+=加法赋值对两侧操作数执行加法运算,将结果分配给左侧操作数
-=减法赋值对两侧操作数执行减法运算,将结果分配给左侧操作数
*=乘法赋值对两侧操作数执行乘法运算,将结果分配给左侧操作数
/=除法赋值对两侧操作数执行除法运算,将结果分配给左侧操作数
%=取余赋值对两侧操作数执行取余运算,将结果分配给左侧操作数
**=求幂赋值对两侧操作数执行求幂运算,将结果分配给左侧操作数
&&=逻辑与赋值当左侧操作数不能转换为 true 时什么也不做,否则将右侧操作数的值分配给左侧操作数
||=逻辑或赋值当左侧操作数可以转换为 true 时什么也不做,否则将右侧操作数的值分配给左侧操作数

 注意:对于逻辑与、或赋值操作,如果左侧操作数满足相应条件,那么右侧操作数根本不会被求值。这称为逻辑赋值运算符的短路特性

赋值运算符的使用
let a = 2
a += 2          // 相当于 a = a + 2
console.log(a)  // 此时 a 的值为 4
a -= 1          // 相当于 a = a - 1
console.log(a)  // 此时 a 的值为 3
a *= 6          // 相当于 a = a * 6
console.log(a)  // 此时 a 的值为 18
a /= 2          // 相当于 a = a / 2
console.log(a)  // 此时 a 的值为 9

自加自减运算符

在 JavaScript 中,我们可以使用自增运算符 ++ 将一个数字类型的值加一,使用自减运算符 -- 将一个数字类型的值减一。

示例:

let a = 10
a++            // 相当于 a = a + 1 或 a += 1
console.log(a) // 此时 a 的值为 11

let b = 10
b--             // 相当于 b = b - 1 或 b -= 1
console.log(b)  // 此时 b 的值为 9

事实上,自加自减运算符不仅可以放到操作数的后面,也可以放到操作数的前面。

自加自减运算符的使用
let a = 10
let b = a++
console.log(a, b)   // 输出:11 10

let x = 10
let y = ++x
console.log(x, y)   // 输出:11 11

  • 自加运算符作为后缀时,先执行赋值操作,故变量 b 的值为 10,然后执行加一操作,故 a 的值为 11
  • 自加运算符作为前缀时,先执行加一操作,故变量 x 的值为 11,然后执行赋值操作,故 y 的值为 11。自减运算符同理。

总结

运算符与表达式是 JavaScript 的核心基础,直接影响代码的执行逻辑和性能。

本篇文章介绍了 JavaScript 中的六类基本运算符,如下所示:

  • 算术运算符:+-*/%**

  • 比较运算符:==!====!==<<=>>=

  • 逻辑运算符:&&||!

  • 条件运算符:<条件表达式> ? <表达式 1> : <表达式 2>

  • 赋值运算符:=+=-=*=/=%=**=&&=||=

  • 自加自减运算符:a++ ++a a-- --a

希望这篇博客能帮助你夯实基础!如果需要补充细节或调整示例,请随时评论或私信告诉我 😊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值