JS学习-运算符篇

1.取余运算符 % :-5%2=-1, 5%-2=1;符号取决于前一位数的正负。
2.指数运算符** : 2**3**2=512 ;指数运算符是右结合,2**3**2===2**9
3.加法运算符+ : 有相加和连接两种重载运算,1+1=2;1+ ‘1’=‘11’;对于对象相加,先执行对象的valueof()方法,再执行tostring()方法直到将object转为基础的三种类型。

var obj = {
  valueOf: function () {
    return 1;
  }
};
obj + 2 // 3
var obj = {
  toString: function () {
    return 'hello';
  }
};

obj + 2 // "hello2"

但是,这里面有一个例外,Date对象是先执行tostring()方法,再执行valueof()方法。

var obj = new Date();
obj.valueOf = function () { return 1 };
obj.toString = function () { return 'hello' };

obj + 2 // "hello2"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值