admin管理员组文章数量:1290201
While using JavaScript, I am running into problems with concatenating empty strings. For example, declaring
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>";
});
leads to usersToAppend
beginning with undefined
. How do I avoid this problem?
Edit: I was improperly initializing usersToAppend
and leadsToAppend
. Correct initialization code is
var usersToAppend = "", var leadsToAppend = "";
While using JavaScript, I am running into problems with concatenating empty strings. For example, declaring
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>";
});
leads to usersToAppend
beginning with undefined
. How do I avoid this problem?
Edit: I was improperly initializing usersToAppend
and leadsToAppend
. Correct initialization code is
var usersToAppend = "", var leadsToAppend = "";
Share
Improve this question
edited Apr 27, 2013 at 18:19
Jared Nielsen
asked Apr 26, 2013 at 19:31
Jared NielsenJared Nielsen
3,9079 gold badges27 silver badges38 bronze badges
7
- 1 SSCCE or didn't happen. – Fabrício Matté Commented Apr 26, 2013 at 19:32
-
Wait are you initializing
foo
to""
? – Mike Christensen Commented Apr 26, 2013 at 19:33 -
Yes, because I need to access
foo
in a different function. – Jared Nielsen Commented Apr 26, 2013 at 19:33 - It works fine for me - jsfiddle/FAR9w . – Ian Commented Apr 26, 2013 at 19:35
-
2
@JaredNielsen - You need to initialize both:
var usersToAppend = "", leadsToAppend = "";
– Mike Christensen Commented Apr 26, 2013 at 19:40
1 Answer
Reset to default 8You forgot to initialize usersToAppend
to an empty string:
var usersToAppend = "", leadsToAppend = "";
Empty strings concatenate just fine with other strings. The problem is when you don't assign any value, which is treated as undefined
and coerces to the string "undefined"
upon trying to concatenate with another string:
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"
本文标签: javascriptConcatenating an Empty StringStack Overflow
版权声明:本文标题:javascript - Concatenating an Empty String - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741460473a2380008.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论