您好,登錄后才能下訂單哦!
本文實例講述了ES6模板字符串和標簽模板的應用。分享給大家供大家參考,具體如下:
ES6 中對字符串進行了擴展,而模板字符串就是一個非常實用的方式,可以在html中實現(xiàn)與變量和方法的混編
之前我們手動拼接字符串的方式
let hello = 'Hello'; let html = '<div>' + '<span>'+ hello +'</span>' + '</div>'; console.log(html); // <div><span>Hello</span></div>
ES6中使用模板字符串來優(yōu)化了拼接的方式
let name = 'Joh'; let qq = '56655'; function log() { return 'Hi there!'; } let html = ` <div> <ul> <li>${ name === 'Joh' ? 'is Joh' : 'not Joh'}</li> <li>${qq}</li> <li>${log()}</li> <ul> </div> ` console.log(html); /* // 輸出如下html: <div> <ul> <li>is Joh</li> <li>56655</li> <li>Hi there!</li> <ul> </div> */
可以看出模板字符串優(yōu)化了之前拼接字符串的方式,更方便于編程
關于標簽模板
未經(jīng)處理的標簽函數(shù)與模板字符串的結合,導致模板字符串失效
function tag() { return 'tag'; } let name = "Joh"; var res = tag`hello ${name}`; console.log(res); // tag
標簽函數(shù)對模板字符串進行處理, 安全編碼的示例:
function safe(strArr) { let res = ''; console.log(arguments); for(var i=0, len = strArr.length; i < len; i++) { res += strArr[i].replace(/</g, '<').replace(/>/g, '>'); if(i < arguments.length -1) { res += arguments[i + 1]; } } return res; } let name = 'Joh'; var result = safe`<p>hello ${name}</p>`; console.log(result); // <p>hello Joh</p>
更多關于JavaScript相關內(nèi)容可查看本站專題:《javascript面向對象入門教程》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調(diào)試技巧總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數(shù)學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。