【笔记】算术运算符要点

加法运算符

按照不同的数据类型,运算可分为以下几种情况:

  1. 数值+数值:纯粹的数学计算,如1+1=2
  2. 数值+字符串 / 字符串+数值:加法运算符遇到字符串,会执行“连接”操作。如1+‘a’=1a
// 加法运算符
// 从左到右的运算次序,字符串的位置不同会导致不同的结果:相加或者连接。这种不同的语法行为,叫做“重载”(overload)
'3'+4+5  // 345
3+4+'5' // 75

// 减法、乘法、除法运算符都是把数据转为数值后,再计算
  1. 数值+对象:对象会先转为原始类型的值,再执行“连接”操作
var obj = {p: 1};  //obj是一个对象
obj + 2 //obj对象的原始类型的值是[object Object],所以obj + 2的结果是 [object Object]2

【注】
对象转成原型类型的值,规则为:

  1. 自动调用对象的valueOf方法,返回对象自身。
  2. 返回对象自身后,自动调用对象的toString方法,将对象转为字符串,即[object Object]
余数运算符
-1 % 2 // -1
1 % -2 //1
自增和自减运算符

特点:

  1. 一元运算符
  2. 相比其他运算符,自增和自减运算符会改变变量的值(这个情况称为运算的副作用 - side effect)
a++ //会先返回a的值,再自增
++a //先自增,再返回新的值
数值运算符

数值运算符和加法运算符

  1. 相同点:使用+号
  2. 区别:数值运算符是一元计算符(只需要一个操作数),加法运算符是二元计算符

数值运算符的作用:将任何值转换为数值。

数值运算符和负数值运算符:

  1. 数值运算符:+
  2. 负数值运算符:-
var a = 1;
+a; //返回1
-a; //返回-1
指数运算符

特点:右结合

2 ** 3 ** 4 //相当于2**(3**4)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值