JavaScript进阶篇7-23编程练习 标准答案疑问 (a+=b与a=a+b不是一样的么)

 http://img.mukewang.com/57dbc3c50001ca8813480304.jpg

var date=new Date();
  var time='';//日期
  time=date.getFullYear()+"年";
  time+=time+date.getMonth()+1+"月";//这里会显示2016年9月

//为何time=time+date.getMonth()+1+“月”会出现2016年81月 而不是2016年9月? 不是应该a+=b与a=a+b等价么 求大神告知为何time=time+date.getMonth()+1+“月” 会出现81月?而 +=就会正确?
  time+=date.getDate()+"日";
  var week=date.getDay()
  switch(week){
      case 0:
          week='星期日';
          break;
      case 1:
          week='星期一';
          break;
       case 2:
          week='星期二';
          break;
      case 3:
          week='星期三';
          break;
       case 4:
          week='星期思';
          break;
      case 5:
          week='星期五';
          break;
          case 6:
          week='星期六';
          break;
      }
  document.write(time+"&nbsp"+week);

wubin_work
浏览 1149回答 1
1回答

摩诃迦叶

运算符的先后顺序。   time+=date.getMonth()+1+"月";  实际上是 time = time + (date.getMonth()+1+"月");你这样写的话time = time + date.getMonth()+1+"月"; 就变成 "2016年"+8 然后得到字符串"2016年8" 然后 "2016年8"+1得到 "2016年81"
打开App,查看更多内容
随时随地看视频慕课网APP