用‘+=’拼接字符串,打印时总会出现一个undefined
var str; for(var i = 0; i < 5; i++){ str += String(i); } console.log(str);
他喵的,打印的结果竟然是“undefined01234”,换着法的打印,总会出现undefined,无语。
后来仔细观察了下,问题很简单。
首先声明str时,并没有定义,它是没有值的。而‘str += String(i)’ 等价于 ‘str = str + String(i)’,拼出来的字符串第一个字符是初始声明的str,当然是undefined了。
第一行代码换成 var str = "";就可以了
作者:罗知晏 出处: https://www.cnblogs.com/kakayang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得还有帮助的话,可以点一下右下角的【推荐】。