JavaScript:操作符:算术运算符(加减乘除模幂)及其隐式转换数据类型
2024-09-08 09:09:01
- 加法
+
- 减法
-
- 乘法
*
- 除法
/
- 模运算
%
- 幂运算
**
,即a ** b
求的是a的b次方
执行上述运算时,当两个操作数有非数字时,JS会隐式转换为数字,再进行运算;
一些特殊的非数字,会进行如下转换:
- true = 1
- false = 0
- null = 0
- undefined = NaN
- NaN = Nan,NaN即Not a Number
- Infinity = Infinity
- "123" = 123
- "123abc" = NaN,即非合法数字,是一个NaN
- 空字符串"" = 0
注意,加法在遇到字符串时,JS不会隐式转为数字,而是隐式转为字符串,此时加号实际上是进行字符串拼接的运算;
但是,算术运算符,是按照从左到右的顺序去执行的,考虑下面代码的运行结果:
对于第一行,首先是计算1 + 1
,此时是纯数字计算,结果是2,然后计算2 + '2'
,此时是进行字符串拼接,所以结果是字符串'22';
对于第二行,首先是计算'1' + 1
,是字符串拼接,结果是字符串'11',然后计算'11' + 2
,还是字符串拼接,所以结果是字符串'112';
最新文章
- TCP三次握手四次挥手
- 【K8s】Kubernetes 最近正在看的资料
- October 13th 2016 Week 42nd Thursday
- JMeter 测试Web登录
- Educational Codeforces Round 5 - C. The Labyrinth (dfs联通块操作)
- PAT---1013. Battle Over Cities (25)
- [BZOJ 3052] [wc2013] 糖果公园 【树上莫队】
- js中的循环语句
- qcow2 raw vhd 虚拟磁盘转换
- [Python]从豆瓣电影批量获取看过这部电影的用户列表
- 物联网操作系统HelloX开发人员入门指南
- IE8上传文件时javascript读取文件的本地路径的问题(";C:\fakepath\";)的解决方案
- php与微信基础的学习
- Maven构建项目比较慢的解决办法
- Java 求n天前的时间或者n月前的时间
- 秒杀系统HTML倒计时设置
- EFCore Lazy Loading + Inheritance = 干净的数据表 (一) 【献给处女座的DB First程序猿】
- goflyway简单使用
- OutOfMemoryError 到底能不能被捕获?
- .net core实践系列之短信服务-架构设计