我有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登录到控制台。我的实际结果是说未定义。
答案 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()
希望您能理解