美文网首页
模版字符串

模版字符串

作者: 我是syq吖 | 来源:发表于2019-06-11 09:59 被阅读0次

ES6中提供了模版字符串,****用`(反引号)标识,用${}将变量括起来。上面的例子可以用模版字符串写成下面这样:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: &quot;Courier New&quot; !important; font-size: 12px !important;">        $("#result").append(
        `He is <b>${person.name}</b>and we wish to know his${person.age}.that is all`
        );</pre>

这样的做法就简洁了很多,我们不需要再使用大量的""和+来拼接字符串和变量。

2. 当然,模版字符串可以引入变量,不使用变量也是可以的。如下所示:

`` I am a man.``

`` No matter what you do,`

`I trust you.``

3. 我们还可以先定义变量,然后在模版字符串中嵌入变量:

`var name="zzw";`

`` ${name},no matter what you do,`

`I trust you.``

4.显然,由于反引号是模版字符串的标识,如果我们需要在字符串中使用反引号,我们就需要对其进行转义,如下所示:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: &quot;Courier New&quot; !important; font-size: 12px !important;">    `No matter\` what you do,
     I trust you.` </pre>

5.注意:如果使用模版字符串表示多行字符串,所有的空格和缩进都会被保存在输出中!!

`console.log( `No matter\` what you do,`

`I trust you.`);`

输出结果如下:


image

6. 在${}中的大括号里可以放入任意的JavaScript表达式,还可以进行运算,以及引用对象属性。

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> var x=88; var y=100;
console.log(x=${++x},y=${x+y});</pre>

结果如下所示:

image

7.更强大的是:模版字符串还可以调用函数:

function string(){

return "zzw likes es6!";

}

console.log(你想说什么?`

嗯,${string()});`

|

结果如下所示:

image

另外,如果函数的结果不是字符串,那么,将按照一般的规则转化为字符串:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> function string(){ return 666;
}
console.log(你想说什么? 嗯,${string()});</pre>

结果如下所示:

image

在这里,实际上数字666被转化成了字符串666.

8.如果在${}中的变量时没有命名的,那么会报错:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> console.log(你想说什么? 嗯,${string()});</pre>

在上面这句代码中,string()函数没有声明,于是报错:

image

9.其实,我们还可以在${}中输入一个字符串,知识结果仍旧会返回一个字符串:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> console.log(你想说什么? 嗯,${"其实我不是变量~"});</pre>

结果如下所示:

image

10.如果希望引用模版字符串本身,可以像下面这样写:

<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> let str="return"+"Hello! ${name}";
let func=new Function("name",str);
console.log(func("zzw"));</pre>

结果如下:

   ![image](https://img.haomeiwen.com/i14940568/bc2843105389a949.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

相关文章

  • ES6模版字符串

    认识一下模版字符串 模版字符串的注意事项 输出多行字符串 输出`和\等特殊符号 模版字符串的注入 ${} 模版字符...

  • String

    字符串的遍历器接口 ES6为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历 模版字符串 模版字符...

  • Django 框架之 自定义标签

    知识点 模版是一个用django模版语言标记过的python字符串。模版可以包含模版标签和变量。 模版标签是在一个...

  • ES6 学习总结

    for of遍历集合和数组 模版字符-反撇号 模版字符串中所有的空格、新行、缩进、都会原样输出在生成的字符串...

  • 模版字符串—ES6

    今天在项目中用到了模版字符串,在此感谢小马同学的知识分享。 1、ES6中提供的模版字符串 在使用模板字符串之前我们...

  • [学习]拥抱kotlin(二)

    1. 字符串模版 字符串模版现在很多语言都是支持的,比如说: php 和 js 等等。虽然 java 也可以用,但...

  • 模版字符串

    ES6中提供了模版字符串,****用`(反引号)标识,用${}将变量括起来。上面的例子可以用模版字符串写成下面这样...

  • js的基础知识与应用(四)

    global `asdasd` 模版字符串 ${变量} 占位符 onmousedown 鼠...

  • 字符串模板

    ES5下必须用+js+这样的形式进行拼接。ES6新增了字符串模版。字符串模版不再使用‘xxx’这样的单引号,而是换...

  • 字符串/数组操作+Map/Set

    一:字符串1.多行字符串console.log(多行 字符串 测试); 2.模版字符串var name = 'wa...

网友评论

      本文标题:模版字符串

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