显示为未定义的Javascript提示符

显示为未定义的Javascript提示符,javascript,undefined,prompt,Javascript,Undefined,Prompt,我正在写一个骰子游戏,类似于冒险。 这不是完整的代码,只是请求玩家名称的函数 function getPlayerNames(p1, p2, p3, p4){ p1 = prompt("What is Player 1's name?", '');p1; p2 = prompt("What is Player 2's name?", '');p2; p3 = prompt("What is Player 3's name?", '');p3; p4 = promp

我正在写一个骰子游戏,类似于冒险。 这不是完整的代码,只是请求玩家名称的函数

function getPlayerNames(p1, p2, p3, p4){
    p1 = prompt("What is Player 1's name?", '');p1;
    p2 = prompt("What is Player 2's name?", '');p2;
    p3 = prompt("What is Player 3's name?", '');p3;
    p4 = prompt("What is Player 4's name?", '');p4;
    return;
}

let player1Name, player2Name, player3Name, player4Name;
getPlayerNames(player1Name, player2Name, player3Name, player4Name);
当player1,2,3,4Name稍后在代码中使用时,它显示为“未定义”。它没有在提示中输入名称时声明名称,并显示名称未定义,这有什么错呢?

如注释中所述:

他说,这里有一个可能的解决方案: 1.获取函数中的名称。 2.返回一个包含名称的数组。 3.为变量指定名称

建议:同时阅读

函数getPlayerNames{ 让p1=提示玩家1的名字是什么; 让p2=提示玩家2的名字是什么; 让p3=提示玩家3的名字是什么; 让p4=提示玩家4的名字是什么; 返回[p1,p2,p3,p4]; } 变量名称=getPlayerNames; 让player1=名称[0], player2=名称[1], player3=名称[2], player4=名称[3]; console.logPlayer 1:+player1; console.logPlayer 2:+player2; console.logPlayer 3:+player3;
console.logPlayer 4:+player4;Javascript不通过引用传递。您认为p1可能是重复的;是吗?非常感谢!这帮助我弄明白了这一点。