运算符:加减乘除背后的故事
数学运算符
好消息:大部分数学运算符两种语言是一样的。坏消息:有几个坑。
加载代码编辑器中……
关键区别
| 运算 | Python | JavaScript |
|---|---|---|
| 除法 | / 总是返回浮点数 | / 也返回浮点数 |
| 整除 | // ✨ | 没有!要用 Math.floor() |
| 乘方 | ** | **(ES2016+ 也支持了) |
Python 的 // 是一个非常方便的整除运算符。JS 没有,所以你得写 Math.floor(a / b)——多打好几个字。
比较运算符
加载代码编辑器中……
== vs ===:JS 的世纪难题
加载代码编辑器中……
铁律:在 JS 中,永远使用
===和!==,忘掉==和!=的存在。
问问 AI
问 AI:"为什么 JavaScript 有 == 和 === 两种相等运算符?如果重新设计 JavaScript,还会保留 == 吗?"
这是一个很好的讨论话题,能帮你理解 JS 的设计哲学。
逻辑运算符
加载代码编辑器中……
| 逻辑 | Python | JavaScript |
|---|---|---|
| 与 | and | && |
| 或 | or | || |
| 非 | not | ! |
Python 用英文单词(and, or, not),JS 用符号(&&, ||, !)。Python 读起来更像英语,JS 更像数学公式。
赋值运算符
加载代码编辑器中……
大部分赋值运算符(+=, -=, *=, /=)两种语言是一样的。但 Python 有 //= 而 JS 没有——因为 JS 连 // 整除都没有嘛。
🏋️AI 练习
试着用两种语言分别计算:
一个学生有 3 门课的成绩:语文 85,数学 92,英语 78。请计算:
- 总分
- 平均分(保留整数)
- 是否每门课都及格(60 分以上)
提示:Python 用 //,JS 用 Math.floor()。
小结
| 概念 | Python | JavaScript |
|---|---|---|
| 整除 | // | Math.floor(a / b) |
| 相等比较 | == | ===(永远用这个) |
| 逻辑与 | and | && |
| 逻辑或 | or | || |
| 逻辑非 | not | ! |
记住:运算符就像不同国家的交通标志——有些长得一样(+, -),有些含义相同但样子不同(and vs &&),还有些只有一个国家才有(Python 的 //)。