Template Literal字符串问题中的Javascript函数参数

时间:2018-01-12 22:14:02

标签: javascript ecmascript-6 template-strings

我正在使用基本webbrowsers的webtools学习javascript(带有F12的工具集)。这是一个显示示例

function sayHello(n){
document.writeln($`Hello {n}`);
}
sayHello("Andy Anderson");
//undefined appears as a result.

我期待结果为"你好Andy Anderson"但是我得到了一个未定义的

2 个答案:

答案 0 :(得分:4)

美元符号的位置很奇怪。它应该在字符串中。

document.writeln(`Hello ${n}`);

您没有收到错误的原因是$很可能被定义为您环境中的一项功能,因此它被用作a "tag" for the template literal

答案 1 :(得分:2)

美元符号出现在开头大括号之前:

document.writeln(`Hello ${n}`);

function sayHello(n){
    document.writeln(`Hello ${n}`);
}
sayHello("Andy Anderson");