<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          JS中的模板字符串

          共 1839字,需瀏覽 4分鐘

           ·

          2021-06-13 08:35

          導(dǎo)讀

          今天為大家說說ES6中的新特性-模板字符串,它為JavaScript提供了簡單的字符串插值功能,從此以后,你可以通過一種更加美觀、更加方便的方式向字符串中插值了。

          01

          怎么創(chuàng)建

          模板字符串是通過反引號(``)來創(chuàng)建字符串的,跟以往的單引號('')和雙引號("")的創(chuàng)建方法是一樣的。

          const message = 'Hello, World!'; //單引號const message = "Hello, World"; //雙引號const message = `Hello, World!`; //反引號

          還有不同于其他兩種功能的是,模板字符串中所有的空格、新行、縮進(jìn),都會原樣輸出在生成的字符串中。這樣我們在用字符串創(chuàng)建dom模板的時(shí)候,就方便的多了。

          const div = `        <div class="hello">            <p>模板字符串</p>        </div>    `;

          49cfe08de597ae07a9c5155e4bb97ed4.webp

          02

          實(shí)現(xiàn)字符串插值

          模板字符串支持占位符(${expression}),可以通過占位符來實(shí)現(xiàn)插值。

          原理:占位符內(nèi)的表達(dá)式在運(yùn)行時(shí)進(jìn)行計(jì)算,并將結(jié)果插入到字符串中。

          其中占位符內(nèi)可以包含以下三種內(nèi)容:

          1.變量

          const myVal = 'abc';const message = `${myVal}`;

          2.表達(dá)式

          const n1 = 1;const n2 = 2;const message = `n1 + n2 = ${n1 + n2}, n1比n2大?,${n1 > n2 ? '是的' : '不是'}`;

          可以有常見的加減乘除,還可以支持三元表達(dá)式等等

          3.函數(shù)

          const a1 = 1;function sum(a, b) {    return a + b;}const result = `計(jì)算兩個數(shù)的相加: ${sum(a1, 2)}`; //=> 計(jì)算兩個數(shù)的相加:3;
          03

          數(shù)據(jù)類型的隱式轉(zhuǎn)換

          占位符表達(dá)式結(jié)果都會被隱式轉(zhuǎn)換為字符串輸出。

          例如number類型:

          const n = 3.5;const message = `The number is ${n}`;message; // => `The number is 3.5`

          數(shù)組類型:

          const numbers = [1, 2, 3];const message = `The numbers are ${numbers}`;message; // => 'The numbers are 1,2,3'

          如果占位符包含一個對象,按照轉(zhuǎn)換為字符串的規(guī)則,該對象也被轉(zhuǎn)換為字符串。在JS中所有對象都具有toString()方法,所以在模板字符串中的對象會調(diào)用對象的方法toString()來獲取對象的字符串表示。

          也就是數(shù)組轉(zhuǎn)換字符串的時(shí)候,會執(zhí)行array.toString()的方法

          04

          轉(zhuǎn)義占位符

          因?yàn)檎嘉环袷?/span>${expression}在模板文字中具有特殊含義,如果想單獨(dú)使用$,${這些需要對它進(jìn)行轉(zhuǎn)義。例如,沒有進(jìn)行轉(zhuǎn)義的聲明,則會報(bào)錯。

          const message = `Some weird characters: ${abc}`;// Throws "ReferenceError: abc is not defined"

          如果想把‘${abc}‘當(dāng)做字符串輸出,可以使用轉(zhuǎn)義符(反斜杠\)。

          const message = `Some weird characters: \${abc}`;message; // => 'Some weird characters follow: ${abc}'

          也就是說如果你需要在模板字符串中引入字符$和{。無論你要實(shí)現(xiàn)什么樣的目標(biāo),你都需要用反斜杠轉(zhuǎn)義每一個字符:`\$`和`\{`。

          const message = `Some weird characters: \${abc} \${abc \${`;message;?//?=>?'Some?weird?characters:?${abc}?${abc?${'

          好了,今天內(nèi)容就先講到這里。

          最后想說的是,字符串插值是一個很棒的功能,因?yàn)樗兄谝院啙嵰鬃x的方式將值插入字符串文字中。并避免笨拙的字符串連接方法。

          我們的正常,就在于自己了解自己的不正常

          --《追風(fēng)箏的人》

          瀏覽 51
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美性爰操逼网 | 婷婷色视频在线观看 | 国产精品小电影 | 欧美日韩国产精品 | 黄片视频免费 |