网站首页 > 技术文章 正文
在JavaScript开发中,运算符是编程的基础工具。它们用于执行各种操作,从简单的数学计算到复杂的逻辑判断。本文将深入探讨JavaScript中的各种运算符,包括算术运算符、比较运算符、布尔运算符、位运算符以及其他一些特殊运算符。
一、算术运算符
JavaScript提供了多种算术运算符,用于执行基本的数学运算。这些运算符包括:
- 加法运算符:x + y
- 减法运算符:x - y
- 乘法运算符:x * y
- 除法运算符:x / y
- 指数运算符:x ** y
- 余数运算符:x % y
- 自增运算符:++x 或 x++
- 自减运算符:--x 或 x--
- 数值运算符:+x
- 负数值运算符:-x
(一)加法运算符
加法运算符(+)是最常见的运算符,用于求两个数值的和。它还可以用于字符串的连接。
如果一个运算子是字符串,另一个运算子是非字符串,非字符串会转成字符串,再进行连接。
(二)余数运算符
余数运算符(%)返回前一个运算子被后一个运算子除所得的余数。需要注意的是,运算结果的正负号由第一个运算子的正负号决定。
(三)自增和自减运算符
自增和自减运算符会修改原始变量的值。它们可以放在变量之前或之后,这会影响运算的顺序。
(四)数值运算符和负数值运算符
数值运算符(+)和负数值运算符(-)可以将任何值转为数值。
二、比较运算符
比较运算符用于比较两个值的大小,返回一个布尔值。JavaScript提供了以下比较运算符:
- > 大于
- < 小于
- <= 小于或等于
- >= 大于或等于
- == 相等
- === 严格相等
- != 不相等
- !== 严格不相等
(一)严格相等运算符
严格相等运算符(===)比较两个值是否为“同一个值”。如果两个值不是同一类型,直接返回false。
(二)相等运算符
相等运算符(==)比较两个值是否相等,会进行类型转换。
(三)比较字符串
字符串按照字典顺序进行比较。
三、布尔运算符
布尔运算符用于将表达式转为布尔值。主要的布尔运算符包括:
- 取反运算符:!
- 且运算符:&&
- 或运算符:||
- 三元条件运算符:?:
(一)取反运算符
取反运算符(!)用于将布尔值变为相反值。
(二)且运算符
且运算符(&&)用于多个表达式的求值。如果第一个运算子的布尔值为true,则返回第二个运算子的值;否则返回第一个运算子的值。
(三)或运算符
或运算符(||)用于多个表达式的求值。如果第一个运算子的布尔值为true,则返回第一个运算子的值;否则返回第二个运算子的值。
(四)三元条件运算符
三元条件运算符(?:)用于根据条件返回不同的值。
四、位运算符
位运算符用于对数字的二进制表示进行操作。主要的位运算符包括:
- 按位非:~
- 按位与:&
- 按位或:|
- 按位异或:^
- 按位移位:<< 和 >>
(一)按位非
按位非运算符(~)会将数字转为32位二进制整数,然后反转每一位。
(二)按位与
按位与运算符(&)对两个数的每一位执行按位与运算。
(三)按位或
按位或运算符(|)对两个数的每一位执行按位或运算。
(四)按位异或
按位异或运算符(^)对两个数的每一位执行按位异或运算。
(五)按位移位
按位移位运算符(<< 和 >>)用于将数字的二进制表示向左或向右移动指定的位数。
五、其他运算符
(一)void 运算符
void 运算符用于执行一个表达式,然后返回undefined。
(二)逗号运算符
逗号运算符用于对两个表达式求值,并返回后一个表达式的值。
六、真题解答
下面代码中,a 在什么情况下会执行输出语句打印 1 ?
参考答案:
方法一:利用 toString() 方法
方法二:利用 valueOf() 方法
- 上一篇: JavaScript执行栈和执行上下文
- 下一篇: 前端面试-js高阶函数的介绍和使用
猜你喜欢
- 2025-05-27 崩溃!页面卡顿总翻车?6 个 JavaScript 技巧教你逆风翻盘
- 2025-05-27 「完结11章」前端全栈进阶 Nextjs打造跨框架SaaS应用
- 2025-05-27 前端面试-js高阶函数的介绍和使用
- 2025-05-27 JavaScript执行栈和执行上下文
- 2025-05-27 JavaScript原型链
- 2025-05-27 《从零开始学前端:HTML+CSS+JavaScript的黄金三角》
- 2024-09-25 前端必会的js基本知识总结(面试篇)
- 2024-09-25 前端JavaScript:20道大公司面试题,全都是经典,你都掌握了吗?
- 2024-09-25 前端学习js 前端如何学
- 2024-09-25 前端Js的基础知识,学过网设,seo,都可以来看看
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)