在php、python中都有heredoc方式的字符串定義方法:
php:
復制代碼 代碼如下:
$sql=<<<EOD
select *
from pages
where pagename='$pn'
EOD;
python:
復制代碼 代碼如下:
print """
This is an example of a string in the heredoc syntax.
This text can span multiple lines
"""
js拼接大量字符串沒個heredoc風格的操作符是比較繁瑣的:
拼接方式一:
復制代碼 代碼如下:
var str = "\
Here is line one \
And line two \
Finally, line three! \
";
alert(str);
拼接方式二:
復制代碼 代碼如下:
var __template =
'<tr>'+
'<td>#salarySN#</td>'+
'<td>#name#</td>'+
'<td>#TDR_NAME#</td>'+
'<td>#TSD_NAME#</td>'+
'<td>#WORK_STATUS#</td>'+
'<td>#isleader_display#</td>'+
'<td>'
+'<a href="javascript:void(-1)">設置角色</a>'
+'</td></tr>';
JS字符串需要打破原字符串風格,每行處理,這點有點讓人受不了。
給個解決方案:
復制代碼 代碼如下:
function aHereDoc() {/*
Hello, World!
I am a JavaScript here document.
Use the 'hereDoc' function to extract me.
*/}
function hereDoc(func) {
return func.toString().split(/\n/).slice(1, -1).join('\n');
}
console.log(hereDoc(aHereDoc));
利用func.toString()獲取需要批量處理的字符串,利用split(/\n/).slice(1, -1)去掉首尾兩行函數定義的代碼,重新組裝即可。