var n1;
var n2;
function Restart() {
n1= Number(prompt("Enter a number", ""));
n2= Number(prompt("Enter another number", ""));
return (n1, n2);
}
function Add() {
n1+n2;
alert(n1+n2);
}
我怎样才能将变量n1和n2带回函数Restart()?
答案 0 :(得分:1)
您没有在任何地方致电Restart()
,因此很难准确回答。在您编写的代码中,n1
和n2
的范围比Restart
和Add
的范围更广,因此两个函数都可以访问它们。 return
不正确,但幸好不需要。
如果你不喜欢全局变量的想法(这是一个非常好的立场),你可以返回一个结构(一个数组或一个对象)。
如果是数组,return [n1, n2]
应该这样做;如果您调用var values = Restart()
,则可以n1
访问values[0]
,n2
访问values[1]
。
如果是对象,则执行return { n1: n1, n2: n2 }
;并以values.n1
和values.n2
。
修改强>
数组返回[n1,n2]不起作用
肯定会这样。
function Restart() {
var n1= Number(prompt("Enter a number", ""));
var n2= Number(prompt("Enter another number", ""));
return [n1, n2];
}
function Add() {
values = Restart();
var n1 = values[0];
var n2 = values[1];
alert(n1+n2);
}
Add();

答案 1 :(得分:0)
这有帮助吗?
function Restart() {
n1= Number(prompt("Enter a number", ""));
n2= Number(prompt("Enter another number", ""));
return {"n1":n1, "n2":n2};
}
答案 2 :(得分:0)
我同意第一个答案。代码很好,你只需要调用你的函数:
var n1;
var n2;
function Restart() {
n1= Number(prompt("Enter a number", ""));
n2= Number(prompt("Enter another number", ""));
}
function Add() {
alert(n1+n2);
}
Restart();
Add();