如何使用三个返回变量中的特定变量



我有三个变量(x,y,z),我把它们都返回了。我想使用三个变量中的一个特定变量,而不仅仅是使用最新的变量。

这是为了测试我可以为我在上一个问题中提到的加载屏幕做什么。我试图将变量放在空白中无济于事。我已经研究了这个,但我什么也没找到。

function inputs(){
    var x = 19;
    var y = 20;
    var z = 21;
    return x, y, z;
}
function output(){
    console.log(inputs(x));
}
output();

我的预期结果是我可以将 x 登录到我的控制台。我的实际结果是它说未定义。

你在这里x input(x)是未定义的。

并且 x,y,z 也将始终返回z 。阅读更多 关于 逗号运算符

所以你想要实现的目标可以用对象像这样完成。

你可以这样做

function inputs(input){
    let obj =
    { x : 19,
      y : 20,
      z : 21 }
    return obj[input]
}
function output(){
    console.log(inputs('x'));
}
output();

在 ES6 中,你可以这样做:

function inputs() {
    var x = 19;
    var y = 20;
    var z = 21;
    return {x, y, z};
}
function output() {
    console.log(inputs().x);
}
output();

希望有帮助。

> 返回x, y, z实际上只返回z 。你想要的是一个对象,比如 let a = {x, y, z} ,然后你可以使用 a.z 访问 z 。

不能像这样返回逗号分隔的值:

return x, y, z;

相反,您可以做的是返回一个对象:

function inputs(){
    var x = 19;
    var y = 20;
    var z = 21;
    return {x: x, y: y, z: z};
}
function output(){
   console.log(inputs().x)
}
output()

希望你能理解。

最新更新