关于+和+=的问题

  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 = ""; 在这里有什么含义


慕虎7371278
浏览 393回答 1
1回答

神不在的星期二

1. output += xxx表示output = output + xx,当output为数字类型的时候会累加赋值,为字符串时会拼接赋值,output的值会不断变化,而+=换成+的话不会改变output的值,用=的话会覆盖,比如两个if都满足的话,那么第一个if中的name就会被age覆盖掉2. 至于为什么一开始要为output赋值空字符串,那是因为下面需要对output这个字符串进行操作,如果不提前声明,会undefined
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript