JavaScript初学者遇到变量相关问题,自定义greetings函数运行无预期结果求助
问题说明
你的代码存在两个基础语法问题:
- 函数没有加返回语句:JavaScript里的函数默认没有写
return的话,执行完只会返回undefined,你现在函数里写的字符串只是一个独立的表达式,没有被返回给调用方,所以console.log打印的函数执行结果是undefined。 - 模板字符串用错了包裹符号:JS里只有用反引号(
)包裹的模板字符串才支持${变量名}的插值语法,你现在用的是普通双引号,就算返回了这个字符串,也只会原样输出Greetings ${myFriend}`,不会替换成变量值。
修正后代码
var myFriend = "John"; function greetings() { // 增加return语句,并且用反引号包裹模板字符串 return `Greetings ${myFriend}`; } console.log('results: ', greetings()); if (typeof module !== 'undefined') { module.exports = greetings; }
运行效果
执行后控制台输出内容为:results: Greetings John
内容的提问来源于stack exchange,提问作者user6297775
相关产品推荐
相关产品推荐

