• 模板字符串


    模板字符串是增强版的字符串,用反引号(`)标识,它可以当做普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变`In JavaScript ' ' is a line-feed.`

    // 普通字符串
    `In JavaScript '
    ' is a line-feed.`
    
    // 多行字符串
    `In JavaScript this is
    not legal.`
    
    // 字符串中嵌入变量
    var name = "Bob", time = "today";
    `Hello ${name}, how are you ${time}?`   // Hello Bob, how are you today?
    

    上面代码中,模板字符串都是用反引号表示,如果在模板字符串中需要使用反引号,则前面需要用反

    斜杠转义。

    var greeting = `\`Yo\` World!`; // `Yo` World!

    如果使用模板字符串表示多行字符串,则所有的空格、缩进和换行都会被保留在输出中。

    $('#list').html(`
    <ul>
      <li>first</li>
      <li>second</li>
    </ul>
    

    如果想把行首和行尾的换行、空格等去掉,则使用trim方法即可。

    $('#list').html(`
    <ul>
      <li>first</li>
      <li>second</li>
    </ul>
    `.trim());

    模板字符串中嵌入变量,要将变量名写在${}之中。大括号内可以放入任意的JavaScript表达式,可以进行运算,以及引入对象属性。

    var x = 1, y = 2;
    
    `${x} + ${y} = ${x + y}`;
    // "1 + 2 = 3"
    
    `${x} + ${y * 2} = ${x + y * 2}`;
    // "1 + 4 = 5"
    
    var obj = {x: 1, y: 2};
    `${obj.x + obj.y}`
    // "3"

    模板字符串之中还可以调用函数。

    function func() {
        return 'Hello';
    }
    
    `${func()} World`;
    // "Hello World"

    如果大括号中的值不是字符串,则将按照一般的规则转换为字符串。如若大括号中是一个对象,则将默认调用对象的toString方法,把对象转换为字符串。

    如果模板字符串中的变量没有声明,则会报错。

    // 变量place没有声明
    var msg = `Hello, ${place}`;
    // ReferenceError: place is not defined

    模板字符串之间还可以进行嵌套:

    var tmpl = addrs => `
        <table>
        ${addrs.map(addr => `
            <tr><td>${addr.first}</td></tr>
            <tr><td>${addr.last}</td></tr>
        `).join('')}
        </table>
    `;
    
    tmpl([{first:'a', last: 'b'}]);
    
    // output:
    /*"
        <table>
    
            <tr><td>a</td></tr>
            <tr><td>b</td></tr>
    
        </table>
    "*/
    

    更详细请查看原文链接

    ————————————————
    版权声明:本文为CSDN博主「Amy_home」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/blog_szhao/article/details/51792868

  • 相关阅读:
    CSS伪元素
    leetcode
    软件镜像下载
    VUE项目问题
    js定时操作
    div 禁止点击
    JS String 与 Object 转换
    实用类
    XML文件的应用
    Socket编程
  • 原文地址:https://www.cnblogs.com/psxiao/p/11497626.html
Copyright © 2020-2023  润新知