美文网首页
12-字符串扩展-模板字符串

12-字符串扩展-模板字符串

作者: 早起的鸟儿 | 来源:发表于2019-11-02 15:16 被阅读0次
一、模板字符串

传统字符串模板:

let uls = document.getElementById("uls");
let str = '';
let a = "这是变量a";
let p="这是变量p"
str = '<li style="background-color:red">' +
            '<a href="#">'+a+'</a>' +
            '<p>'+p+'</p>' +
        '</li>'
uls.innerHTML += str;

ES6字符串模板:(格式:`${变量、逻辑判断....}`

{
    let userName="zhansan";
    let userPwd = "admin";
    console.log(`${userName} ${userPwd}`)  //zhansan admin
}

{
    let num1 = 11;
    let num2 = 12;
    console.log(`${num1+num2}`)   //23
}

{
    let num1 = 11;
    let num2 = 12;
    console.log(`${num1 > num2 ? 'num1大':'num2大'}`)   //num2大
}

改进传统字符串模板:

{
    let uls = document.getElementById("uls");
    let str = '';
    let a = "这是一个变量a";
    let p = "这是一个变量p";
    str = `<li style="background-color:red">
                <a href="#">${a}</a>
                <p>${p}</p>
            </li>`
    uls.innerHTML += str;
}
二、标签模板

模板字符串的功能,不仅仅是上面这些。它可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。这被称为“标签模板”功能。

{
    alert(678)
    alert`123`   //  ()==``
}

标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数。
但是,如果模板字符里面有变量,就不是简单的调用了,而是会将模板字符串先处理成多个参数,再调用函数。

{
    let obj = {userName:'zhangsan',userAge:18}
    function fn(a,b,c){
        console.log(a);
        console.log(b);
        console.log(c)
    }
    fn`${obj.userName}${obj.userAge}`
    //b  ==>zhansan
    //c  ==>18
    //a  ===> ["", "", "", raw: Array(3)]

    fn`admin${obj.userName}${obj.userAge}list`
    //b  ==>zhansan
    //c  ==>18
    //a  ===> ["admin", "", "list", raw: Array(3)]
}

相关文章

  • ECMAScript6 学习(一)

    字符串的扩展 字符串的遍历器接口for...of循环 模板字符串 字符串中嵌入变量 标签模板 模板字符串可以紧跟在...

  • JS基础系列(X): ES6入门

    字符串扩展 模板字符串模板字符串可以很方便的代替ES5字符串拼接,格式如下: 代码示例 API 函数扩展 函数默认...

  • 2017-12-26es6-函数扩展

    扩展 1、字符串扩展 2、模板字符串 **** 3、数值扩展 4、函数扩展用于分页居多 rest 参数 ...变量...

  • ECMAScript 6 新增内容

    变量的扩展letconst变量的结构 字符串的扩展及新增方法模板字符串 (`${}`)matchAll 方法返回一...

  • ES6拓展

    一、字符串拓展 1.模板字符串 在模板字符串中 如果需要写一个返点字符 ,则要在 `前面加上。 2.字符串扩展的...

  • 字符串、数组、函数、对象

    字符串 多行字符串 字符串模板 数组 扩展 函数参数的扩展 类数组对象转数组 函数 默认值 以下两种写法的区别? ...

  • ES6 字符串、数组、函数、对象

    字符串 1. 多行字符串 2. 字符串模板 数组 1. 扩展 2. 函数参数的扩展 3. 类数组对象转数组 函数 ...

  • 前端小白成长03--小知识点 字符串 参数 展开数组

    1.模板字符串可以\转义 2.可以换行 3.把js片段输出,不用+号拼接 带标签的模板字符串 字符串的扩展方法 i...

  • ES6的一些笔记(二)

    模板字符串 ${}中可以嵌入变量和表达式 字符串的解析构值 字符串方法的扩展 includes(string,in...

  • ES6入门之内置对象的扩展

    1.字符串的扩展 模板字符串。ES5写法: ES6写法: 新增字符串方法:1 repeat; //复制字符串2 i...

网友评论

      本文标题:12-字符串扩展-模板字符串

      本文链接:https://www.haomeiwen.com/subject/ahncmctx.html