先看一个案例
for(var i=;i<data.length;i++){
var n= data[i].companyId;
var str = '<tr><td>'+data[i].companyId+'</td><td>'+data[i].companyName+'</td><td>'
+data[i].address+'</td><td>'+data[i].attribute+'</td>' +'<td>'+data[i].highManager+'</td><td>
<button id="update_data1" class="update">编辑</button>
<button id="delete_data1" class="delete" onclick="dele('+n+')">删除</button></td></tr>';
}
如果把dele(’+n+’)换为dele(n) 那么 for循环结束后 每个button的onclick都是dele(n),而不是0 1 2 3。
总结
在字符串中镶嵌变量,如果字符串最外层是用单引号引起来的,那么应在变量两边加上 + 并用引号引起来 ,相反如果是用双引号引起来的,则用双引号
例如 ‘…’+x+’…’ ‘…’+n+’ …’ “…”+x+"…" “…”+n+"…"
这样就可以让字符串与变量与字符串衔接起来
其实在平常使用的时候也知道这些, 但是遇到像案例那种变量在函数的参数中的时候往往会理所当然而忽略这个问题,从而导致了错误。