我有三个变量(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()
希望你能理解。