You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript参数未定义问题:prompt传参后结果异常排查

问题原因与修复方案

错误根源

你调用yearsret函数时,只给它传了第一个参数(出生年份的输入结果),函数需要的第二个参数firstname完全没传,所以函数内部的firstname自然是undefined。而你把输入名字的prompt放在了console.log的第二个参数位置,这就导致它会在函数返回的字符串后面单独打印,最终出现undefined retires in 27 years Ali的奇怪结果。

修复后的代码

'use strict';
const yearsret = (year, firstname) => {
    const age = 2022 - year;
    const retir = 60 - age;
    return `${firstname} retires in ${retir} years`;
}

// 将名字输入作为第二个参数传入yearsret函数
console.log(yearsret(prompt('请输入你的出生年份'), prompt('请输入你的名字')));

关键说明

  • 调用函数时,必须把两个prompt的结果都放进yearsret的括号里,作为它的两个参数,这样函数才能正确拿到firstname的值。
  • 修复后,函数返回的字符串会正常显示名字,也不会在末尾额外打印名字了。

内容的提问来源于stack exchange,提问作者Ak98

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 04:36:13