JavaScript无法在函数内访问外部定义的myFriend变量问题求助
问题排查与修复
你的代码存在以下几处问题:
- 函数无显式返回值:JavaScript 中如果函数没有写
return语句,默认返回undefined,这是你调用greetings()拿不到预期字符串的核心原因。 - 字符串格式不符合要求:题目要求返回首字母大写的
Greetings加朋友姓名,你当前拼接的是小写开头的greetings,,多了不必要的逗号,也不符合大小写要求。 - 命名冲突风险:函数内部声明的
greetings变量和外层的函数名完全重名,虽然不会直接触发报错,但极易引发后续逻辑混淆,不建议这么写。 - 打印语句多了多余逗号:你写的
console.log('results: ,'+greetings());里results:后面多了个多余的逗号,输出时会出现多余符号。
修复后可正常运行的代码
var myFriend = "Sara" function greetings() { // 直接返回符合要求的字符串即可,有需要也可以额外声明变量存储 return "Greetings " + myFriend } console.log('results: ' + greetings());
运行后输出结果为:results: Greetings Sara,完全符合题目要求。
内容的提问来源于stack exchange,提问作者Hello World
相关产品推荐
相关产品推荐

