在Javascript中經常會遇到字符串的問題,但是如果要拼接的字符串過長就比較麻煩了。
如果是在一行的,可讀性差不說,如果要換行的,會直接報錯。
在此介紹幾種Javascript拼接字符串的技巧.
var items = '<li class="details">' + '<span>Hello world</span>' + '</li>';
var items = '<li class="details">' '<span>Hello world</span>' '</li>';
利用數組的join方法,把數組轉成字符串.
var empList = ['<li class="details">', '<span>Hello world</span>','</li>'].join("");
在數組的基礎上可以封裝一個StringBuffer的方法來完成字符串的拼接。
function StringBuffer(){ this.buffer = []; } StringBuffer.prototype = { constructor: StringBuffer, append: function(str){ this.buffer.push(str); return this; }, toString: function(){ return this.buffer.join(''); } };
ES6中引入了一種新型的字面量語法,稱為模板字符串。
用反撇號`來代替原來的單引號或雙引號.
$('.warning').html(` <h1>Working!</h1> <p>迷糊餐廳</p> <p>區區一只亞麻太</p> `);
字符串中的換行、縮進、空格都會原樣輸出到新生成的字符串中。
如果想要了解字符串拼接的性能問題,推薦去看Nicholas C.Zakas的《高性能Javascript》一書