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

时间:2018-12-24 18:22:23

标签: javascript

我有3个变量(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登录到控制台。我的实际结果是说未定义。

4 个答案:

答案 0 :(得分:1)

您在input(x)这里的x尚未定义。

x,y,z 也将始终返回z。进一步了解comma operator

因此,您可以尝试通过对象来实现目标。

您可以这样做

function inputs(input){
    let obj =
    { x : 19,
      y : 20,
      z : 21 }
    return obj[input]
}

function output(){
    console.log(inputs('x'));
}

output();

答案 1 :(得分:1)

在ES6中,您可以执行以下操作:

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

function output() {
    console.log(inputs().x);
}

output();

希望有帮助。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您不能返回以逗号分隔的值,如下所示:

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()

希望您能理解