连接一个空字符串

Concatenating an Empty String

本文关键字:一个 字符串 连接      更新时间:2023-09-26

在使用JavaScript时,我遇到了连接空字符串的问题。例如,声明

var usersToAppend, leadsToAppend = "";
$(document).ready(function() {
    console.log(usersToAppend);
    parser = new DOMParser();
    //Get list of users
    var usersXML = parser.parseFromString('<%=WebConnector.getSomeXML()%>', "text/xml");
    console.log(usersXML);
    var users = usersXML.getElementsByTagName("users")[0].childNodes;
    for(var k = 0; k < users.length; k++)
        usersToAppend += users[k].childNodes[0].nodeValue + " -- "+users[k].attributes.getNamedItem("email").nodeValue+"<br>";
});

导致usersToAppendundefined开始。如何避免这个问题?

编辑:我初始化usersToAppendleadsToAppend不正确。正确的初始化代码是

var usersToAppend = "", var leadsToAppend = "";

您忘记将usersToAppend初始化为空字符串:

var usersToAppend = "", leadsToAppend = "";

空字符串可以很好地与其他字符串连接。问题是当您不分配任何值时,它被视为undefined,并在尝试与另一个字符串连接时强制到字符串"undefined":

var foo = '';
foo += 'baz';
console.log(foo); //"baz"
var bar; //no value, treated as undefined
bar += 'baz';
console.log(bar); //"undefinedbaz", undefined coerced to string is "undefined"