用‘+=’拼接字符串,打印时总会出现一个undefined

Posted 罗知晏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用‘+=’拼接字符串,打印时总会出现一个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 = "";就可以了

以上是关于用‘+=’拼接字符串,打印时总会出现一个undefined的主要内容,如果未能解决你的问题,请参考以下文章

JS拼接URL字符串

进程中的 Erlang 错误,退出值为 undef

后台拼接json字符串,传到前台时注意特殊符号处理

为啥在使用Ping命令的时候,总会出现不通的情况呢?

LODOP打印超文本字符串拼接2 单选选择css样式表格

数据拼接与数据转换