var arr = [1,2,3]; `xxx ${arr} xxx`//xxx 1,2,3 xxx
為什么說html字符串拼接很惡心呢,主要有以下幾點(diǎn):
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)鞏義免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
es6的模板字符串解決了以上問題
es6 使用``(windows鍵盤英文輸入法下tab鍵上面那個鍵)來定義一個字符串。
var s = `hello world`
我們通常這樣拼接html字符串。
var html = '
如果html標(biāo)簽里面有其他的引號,那就更惡心了,但是,使用es6,只需要這要就ok了。
var html = `
在windows鍵盤上,``是英文輸入法下tab按鍵上面那個鍵。
它同樣支持變量的嵌套,甚至功能更加強(qiáng)大
{}里面可以插入任何js表達(dá)式,還可以是一個對象、數(shù)組,甚至是一個函數(shù)。
對象或者數(shù)組會調(diào)用它們的toString()方法
var obj = {a:1,b:2}; `xxx ${obj} xxx`//xxx [object Object] xxx
var s1 = `hello vue`; `xxx ${s1} xxx` //xxx hello vue xxx
函數(shù)分兩種情況:
var fn1 = function(){ console.log('hello vuex'); } var fn2 = function(){ return 'hello vue-router' } `xxx ${fn1}`//xxx function fn(){....} `xxx ${fn1()}`//xxx underfind `xxx ${fn2()}`//xxx hello vue-router
如果{}里面的變量是個不存在的變量呢?