在Javascript中經常會遇到字元串的問題,但是如果要拼接的字元串過長就比較麻煩了。 如果是在一行的,可讀性差不說,如果要換行的,會直接報錯。 在此介紹幾種Javascript拼接字元串的技巧. 字元串相加(+) 利用反斜線拼接字元串 利用數組拼接字元串 利用數組的join方法,把數組轉成字元串 ...
在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模板字元串
ES6中引入了一種新型的字面量語法,稱為模板字元串。
用反撇號`來代替原來的單引號或雙引號.
$('.warning').html(` <h1>Working!</h1> <p>迷糊餐廳</p> <p>區區一隻亞麻太</p> `);
字元串中的換行、縮進、空格都會原樣輸出到新生成的字元串中。
如果想要瞭解字元串拼接的性能問題,推薦去看Nicholas C.Zakas的《高性能Javascript》一書