ES6扩展——模板字符串

${ } 模板字符串占位符 需要用反引号` `

 

 

1、模板字符串 `${变量}`

            const xiaoming = {
                name:'xiaoming',
                age:14,
                say1:function(){
                    console.log('我叫'+ this.name + ',我今年'+this.age +'岁!');
                },
                say2:function(){
                    console.log(`我叫${`Mr.${this.name.toUpperCase()}`},我今年${this.age}岁!`);
                }
            }
            
            xiaoming.say1();
            xiaoming.say2();

 

2、模拟从服务端拿数据,把数据渲染成一个ul列表

            //模拟从服务端拿数据,把数据渲染成一个ul列表
            const getImoocCourseList = function(){
                //ajax
                return {
                    status:true,
                    msg:'获取成功',
                    data:[{
                        id:1,
                        title:'vue入门',
                        date:'xxxx-01-09'
                    },{
                        id:2,
                        title:'es6入门',
                        date:'xxxx-01-10'
                    },{
                        id:3,
                        title:'react入门',
                        date:'xxxx-01-11'
                    }]    
                }
            }
            
            const {data:listData, status, msg} = getImoocCourseList();
            
            function foo(val){
                return val.replace('xxxx','xoxo');
            }
            
            if(status){
                //声明一个数组,用来存放每个li的html字符串
                let arr = [];
                
                listData.forEach(function({date,title}){
                    // arr.push(
                    //     '<li>'+
                    //         '<span>' + title + '</span>' +
                    //         '<span>' + date + '</span>' +
                    //     '</li>'
                    // );
                    
                    arr.push(
                        `
                            <li>
                                <span>${ `课程名:${title}` }</span>
                                <span>${ foo(date).toUpperCase() }</span>
                        `
                    );
                });
                let ul = document.createElement('ul');
                ul.innerHTML = arr.join('');
                document.body.appendChild(ul);
            }else{
                alert(msg);
            }
            

 

 

3、使用反引号的模板字符串还可以嵌套反引号,并且还可以在花括号内写一些简单的表达式(比如调用方法toUpperCase等):

function foo(val){
return val.replace('xxxx','xoxo');
}

arr.push(
`
<li>
<span>${`课程名:${title}`}</span>
<span>${foo(date)}</span>
</li>
`
)

 






posted @ 2020-06-13 23:44  是桂  阅读(213)  评论(0编辑  收藏  举报