为什么空格会影响我的html元素中的JavaScript?

Joh*_* Au 2 javascript string syntax multiline

我正在迭代JSON对象,我正在获取数据并在表中创建一行.但是,当我在附加行时没有放置空格,即我只将其设为一行,它就可以了.

for(var i in data.students)
{    
    table += 
        '<tr><td id="studentName">' + data.students[i].firstname + ' ' + data.students[i].lastname +'</td><td><select class="attendSelect" id="studentSelect'+ data.students[i].lastname +'"><option value="Attended">Attended</option><option value="Excused">Excused</option><option value="Absent">Did not Attend</option></select></td></tr>';
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试通过缩进和添加空格来使其看起来整洁时.它崩溃了.我不明白!

for(var i in data.students)
{    
    table += 
        '<tr>
            <td id="studentName">' + data.students[i].firstname + ' ' + data.students[i].lastname +'</td>
            <td>
                <select class="attendSelect" id="studentSelect'+ data.students[i].lastname +'">
                    <option value="Attended">Attended</option>
                    <option value="Excused">Excused</option>
                    <option value="Absent">Did not Attend</option>
                </select>
            </td>
        </tr>';
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*gne 8

您不能只在字符串中添加行返回.你可以这两种方式之一:

var mystring = "this" + 
               "is multi" + 
               "line";
Run Code Online (Sandbox Code Playgroud)

要么

var mystring = "this \ 
               is multi \
               line";
Run Code Online (Sandbox Code Playgroud)

请注意,这两个字符串不相等.第一个示例在行之间没有空格.第二个例子包括字符串中行开头的所有空白区域.