Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript

string concatenation

 bookmarksResults.innerHTML+='<div class="well">'+
            '<h3>'+name+
            '<a class="btn btn-default" target="_blank" href="'+url+'">visit</a>'+
            '<a onclick="deleteBookMark(\''+url+'\')" class="btn btn-danger" href="#">Delete</a>'+
            '</h3>'+
            '</div>';

i dont understand the concatention in the deleteBookMark function call any help please

2 Answers

Steven Parker
Steven Parker
216,012 Points

Concatenation is just joining strings together to make a longer one. In this example, it is used in part to make a string using the contents of variables, but it is also being used just to keep the code line from being really long.

i still have a problem in understanding this: deleteBookMark(\''+url+'\')

Steven Parker
Steven Parker
216,012 Points

Normally, quote marks enclose a literal string. If you want to include a quote mark inside a string you have to do something special. The backslash (\) is known as the "escape character", and when you put it before a quote mark it means that quote mark is part of the string and does not indicate the end of it. The other quote mark that follows the first one does end the string. Then the +url+ part just joins whatever is in the "url" variable to the string, and then joins that onto the next string (which also has an escaped quote mark).

Here's a simpler example:

name = 'Bob';
message = 'Is your name \'' + name + '\'?';
console.log(message);  // shows -->   Is your name 'Bob'?

Thanks i got it Steve