别再死记硬背了,一篇文章搞懂 JS 乘性操作符



想象一下。在 JavaScript 世界里,有一家非常忙碌的工厂,名字叫 Number Factory 。这家工厂每天的工作就是------处理各种数字请求。

有的请求很简单:

"帮我算一下 2 × 3。"

有的请求就很奇怪:

"帮我算一下 '6' * '2'。"

"那 null / 5 呢?"

"true % 2 会剩下什么?"

于是,工厂门口站着三位老员工:

  • **乘法操作符 *** ------ 力气最大
  • 除法操作符 / ------ 切得最细
  • 取模操作符 % ------ 专门管"剩下多少"

今天,我们就以数字工厂的一天 为主线,把 JavaScript 的乘性操作符彻底讲透。

什么是乘性操作符?

在 JavaScript 中,乘性操作符(Multiplicative Operators) 一共有三个:

听起来是不是很简单?

别急。 JavaScript 的精髓,从来不在"能算",而在------它是怎么帮你算的。

乘法操作符 *:力气最大的老员工

1、最普通的乘法

这是最常见的用法:

没什么好说的,对吧?但 JavaScript 从不满足于"普通"。

2、字符串 × 数字:先换工服再干活

在数字工厂里,只要你拿着 * 进门,不管你是谁,都得先换成 Number 工服。

规则很明确:乘法操作符会把操作数隐式转换成 Number 类型

但如果换不了呢?

3、换不了工服的下场:NaN

在工厂里,'abc' 被领到更衣室一看:"兄弟,你这不是数字啊。"

于是结果直接变成:

4、特殊值参与乘法

我们来看一张非常重要的表:

示例代码:

面试高频点:null 在数值运算中,几乎总是 0。

除法操作符 /:切得最细的老员工

如果说乘法是"使劲干活",那除法就是------精细分配。

1、基本除法

JavaScript 的除法,默认是浮点除法,不会像某些语言那样自动取整。

2、被除数是 0?故事开始刺激了

在数字工厂里,除法员工遇到 0,会很冷静地说一句:"无限大。"

3、0 / 0:工厂直接宕机

规则总结一下:

4、除法中的隐式转换

和乘法一样,除法也会触发 Number 转换:

规则一句话记住:乘法和除法,是 JavaScript 中最"严格"的操作符之一, 它们不玩字符串拼接,只认数字。

取模操作符 %:管"剩下多少"的老员工

终于轮到今天最容易被误解的一个了。

1、什么是取模?

取模,不是取百分比 ,而是:取除法后的余数

在数字工厂里:10 块钱,每人发 3 块,发完以后桌上还剩 1 块。

2、取模的经典应用场景

✔ 判断奇偶

这是前端面试出现频率极高的一种写法。

3、负数取模,很多人会算错

记住一个核心规则 :取模结果的符号,跟被除数一致

4、特殊值参与取模

对,你没看错:

  • null → 0
  • true → 1

三大操作符行为对照表(重点收藏)

这张表,我建议你直接截图:

为什么面试官爱问"乘性操作符"?

因为它表面简单,实际全是坑:

  1. 隐式类型转换
  2. NaN 的传染性
  3. Infinity 的出现条件
  4. 负数取模的规则
  5. null / undefined 的差异

很多人写 JavaScript 写了好几年,却在这一块翻车。

总结

如果你今天只能记住三句话,请记住这三句:

乘法、除法、取模,都会把操作数转成 Number

转不了的,直接 NaN

取模结果的符号,永远跟被除数走

JavaScript 从来不是"随便算",而是规则清晰,只是你没系统看过。

END

如果你觉得这篇文章对你有帮助,欢迎点赞、收藏、转发 给那个总是被 JS 隐式转换坑的朋友。

我们,下篇见。

我是小米,一个喜欢分享技术的31岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号"软件求生",获取更多技术干货!

相关推荐
IT_陈寒6 小时前
SpringBoot实战技巧总结
前端·人工智能·后端
TeamDev6 小时前
使用 JxBrowser 在桌面应用中集成 Spring
java·前端·后端·spring·混合应用·jxbrowser·浏览器控件
陈随易8 小时前
Rolldown 把插件改动回传提速 26 倍
前端·后端·程序员
笃行35015 小时前
集中式与分布式,KingbaseES 的四种形态共用一套内核
前端
陈随易16 小时前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
皮皮林55117 小时前
40亿个QQ号,限制1G内存,如何去重?
程序员
ZhengEnCi18 小时前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
IT_陈寒20 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
系统集成-鹰翔20 小时前
ERP图片改名后仍命中识别缓存:缓存键、十分钟到期与调用计数
javascript·经验分享·后端
用户27050777252421 小时前
MCP 最小 Server 实测:3 个 JSON-RPC 报错与修法
前端