使用浏览器F12工具学习JS时,模板字符串函数参数输出异常求助
解决你的JavaScript模板字符串问题
嘿,我一眼就看出问题出在哪啦!你误用了标签模板语法,导致输出了undefined。
问题原因
你写的$Hello {n}``是标签模板的写法,这里的$是一个标签函数,但你并没有定义这个函数——浏览器里没有内置名为$的标签函数,所以当你调用它时,它默认返回undefined,最后document.writeln就把这个undefined输出了。
而你真正想要的是普通的模板字符串,不需要加前面的$符号。
修正后的代码
把$去掉,直接用反引号包裹模板字符串,像这样:
function sayHello(n){ document.writeln(`Hello ${n}`); } sayHello("Andy Anderson");
这样运行后就能得到你预期的Hello Andy Anderson啦!
简单总结下:普通模板字符串只需要用反引号`包裹,里面用${变量}来插值;而标签模板是给模板字符串加一个自定义函数处理,你这里不需要这个功能,所以去掉$就搞定了。
内容的提问来源于stack exchange,提问作者Fables Alive
相关产品推荐
相关产品推荐

