alert()和alert``之间的区别

时间:2015-11-20 05:43:45

标签: javascript

我正在测试我的应用程序是出于安全目的,在这样做时我遇到了这种情况:

<script>
function myFunction() {
    alert`"Hello\nHow are you?"`;
}
</script>

结果弹出消息你好你好吗?

<script>
function myFunction() {
    alert("Hello\nHow are you?");
}
</script>

结果弹出消息你好你好吗?

为什么这两个脚本产生相同的结果?

使用此链接进行测试: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_alert2

1 个答案:

答案 0 :(得分:4)

这称为tagged template string

模板字符串是编写字符串文字的另一种方式,它已在ES6中引入,它提供了额外的功能,例如您描述的功能。

您在alert中找回字符串的原因是alert .toString 对象被传递到它,实际上看起来更像

["\"Hello\nHow are you?\""]