最近維護一個老系統,裏面有大量js拼接字符串的代碼,這裏總計一下js拼接字符串javascript
JavaScript裏面的字符串能夠直接用 + 來拼接java
return "<a style='text-decoration:underline' onClick='" + valsAr[1] + " return false;" + "' data-rowId='" + row_id + "' href='javascript:;' title='" + valsAr[0] + "'>" + valsAr[0] + "</a> ";
以上就是拼接一個帶js事件的a標籤,能夠看出來裏面混合了單引號和雙引號,用起來相對的費勁。數組
由於單引號和雙引號結合在一塊兒,因此能夠用js的array進行分開操做,最後在join起來:blog
data.push("<a style='text-decoration:underline' onClick='"); data.push(valsAr[1]); data.push(' return false;'); data.push("' data-rowId='"); data.push(row_id); data.push("' href='javascript:;' title='"); data.push(valsAr[0]); data.push("'>"); data.push(valsAr[0]); data.push( "</a> ");
這其實和上面的方法差不都,只是用數組將要用+的隔開而已事件
以上都是比較老的解決方案了,用起來也費勁,如今都是用js template進行組裝:ip
var strTem = "<a style='text-decoration:underline;color:#color#' onClick='#click# return false;' data-rowId='#rowId#' href='javascript:;' title='#title#' >#title#</a> "; var values = {}; values["color"] = color; values["click"] = valsAr[1]; values["title"] = valsAr[0]; values["rowId"] = row_id; template(strTem, values)
js的拼接如今通常用模板,這裏記錄如下字符串