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覆盖掉

2. 至于为什么一开始要为output赋值空字符串,那是因为下面需要对output这个字符串进行操作,如果不提前声明,会undefined
添加回答
举报
0/150
提交
取消
