**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
9天前关闭
Improve this question
for( var i = 0 ; i < 5 ; i++) {
console.log("This is printing ${i} time") }
是否有语法错误?因为这个程序的输出
This is printing ${i} time
This is printing ${i} time
This is printing ${i} time
This is printing ${i} time
This is printing ${i} time
我期待着类似于
This is printing 1 time
This is printing 2 time
This is printing 3 time
This is printing 4 time
This is printing 5 time
4条答案
按热度按时间jv4diomz1#
在JavaScript中格式化字符串中的变量时,需要使用`而不是“or”
gtlvzcf82#
要解决这个问题,请使用反引号**``而不是双引号""**。
尽量避免使用var。对于作用域代码块,使用let而不是var。
bd1hkmkf3#
使用反引号
insrf1ej4#
TL;DR:字符串需要使用反引号(`),而不是引号。
您尝试使用的是template literal。
根据MDN(重点是我的):
模板文字是用反勾(`)字符**分隔的文字,允许多行字符串,嵌入表达式的字符串插值,以及称为标记模板的特殊构造。
因此,它们必须用反引号分隔。但是,您使用的是纯双引号。
常规引号只生成常规字符串文字,而反引号表示您需要模板文字的行为和功能。
根据MDN,它们有时被称为 * 模板字符串 *,但它们的能力远远超过简单的强模板。因此命名为 template literals。