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.
output += xxx
表示output = output + xx
,当output
为数字类型的时候会累加赋值,为字符串时会拼接赋值,output
的值会不断变化,而+=
换成+
的话不会改变output
的值,用=
的话会覆盖,比如两个if
都满足的话,那么第一个if
中的name
就会被age
覆盖掉2. 至于为什么一开始要为
output
赋值空字符串,那是因为下面需要对output
这个字符串进行操作,如果不提前声明,会undefined