为了账号安全,请及时绑定邮箱和手机立即绑定

关于+和+=的问题

关于+和+=的问题

慕虎7371278 2018-12-27 22:15:12
  function displayInfo(args){        var output = "";        if(typeof args.name == "string"){            output += "Name:" + args.name + "\n";        }        if(typeof args.age == "number"){            output += "Age:" + args.age + "\n";        }    alert(output);    }    displayInfo({        name:"Nicholas",        age:29    })        displayInfo({        name:"Greg"    })1.为什么这里把 output += "Name:" + args.name + "n"; output += "Age:" + args.age + "n";的 += 变成 + 结果会不一样 2.var output = ""; 在这里有什么含义
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

1. output += xxx表示output = output + xx,当output为数字类型的时候会累加赋值,为字符串时会拼接赋值,output的值会不断变化,而+=换成+的话不会改变output的值,用=的话会覆盖,比如两个if都满足的话,那么第一个if中的name就会被age覆盖掉

https://img1.sycdn.imooc.com//5c4981fe000135c704530265.jpg

2. 至于为什么一开始要为output赋值空字符串,那是因为下面需要对output这个字符串进行操作,如果不提前声明,会undefined

查看完整回答
反对 回复 2019-01-24
  • 1 回答
  • 0 关注
  • 392 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信