2013-05-13 208 views
0

如何将用户输入的值(来自提示符)传递给另一个函数,而我的变量“input”是全局函数?将一个函数的值传递给另一个函数

function One(a){ 
    var input = ' '; 
    input = parseInt(prompt('enter a number'); 
} 

function Two(b){ 
    document.getElementById('initial').value = input //input is user input from function One(a) 
} 
+3

答案取决于你如何使用它。 'Two()'怎么叫?一个可以多次调用,两个应该有不同的值? – epascarello 2013-05-13 13:25:07

回答

2

传递从一个函数的值到另一个

使用这就是工作做了什么参数。

function One(){ 
    var input = ' '; 
    input = parseInt(prompt('enter a number'); 
    return input; 
} 

function Two(b){ 
document.getElementById('initial').value = b//input is user input from function One(a) 
} 

Two(One()); 
+0

得到我的初始代码现在通过添加“返回输入”到函数One(a),然后使函数Two(b)中的var a = One(a)并从那里开始工作。感谢所有回答的人。通过创建一个称为“输入”的全局变量,可以完成这项工作...仍然可以学习函数的简单运作。 – user2337745 2013-05-13 13:46:45

0
(function() { 
    // ALL YOUR CODE ! 
    var input = ''; 
}()); 

包装一下你的代码放到一个自动执行功能是最有可能避免重挫全局对象最简单的方法。当然有更复杂的方法,如命名空间对象模块化编程模式,但只是为了避免创建全局变量,您可以很好地创建和使用私有范围。

+0

可能无法正常工作,如果从全局环境中使用'One' /'Two' – 2013-05-13 13:25:54

+1

@ArunPJohny那么这就是为什么我把那个评论放在那里。 – jAndy 2013-05-13 13:26:59

0

One的末尾,你可以放Two(input);吗?

0
function One(){ 
var input = prompt('enter a number'); 
return isNaN(input) ? "Not a number" : parseInt(input); 
} 

function Two(){ 
    document.getElementById('initial').value = One(); 
} 
0

返回从第一功能的价值,并把它作为一个参数进入第二:

function One() { 
    return parseInt(prompt('enter a number'), 10); 
} 

function Two(input) { 
    document.getElementById('initial').value = input; 
} 

用法:

var inp = One(); 
Two(inp); 
+0

请仔细阅读该问题。 – 2013-05-13 13:29:51

+0

@MarkSchultheiss:为什么downvote?我读过这个问题。小心。几次。我建议你也这样做。 – Guffa 2013-05-13 13:31:22

+0

请解释您的答案目前的地址如何:“没有我的变量”输入“是全球性的?” - 看起来你只是在这里创建另一个全球? – 2013-05-13 13:33:08

0

如果你担心关于使用太多变量来污染全局名称空间,但这些仍然是“全局”的,也就是说,有几个函数需要访问它们可以将它们放入单个全局对象中。

window.myGlobals = {}; 
function One(a){ 
myGlobals.input = parseInt(prompt('enter a number'); 
} 

function Two(b){ 
document.getElementById('initial').value = myGlobals.input //input is user input from function  One(a) 
} 

如果您正在寻找函数Two来访问函数One中的所有数据,您可以创建一个闭包。如果没有更多关于你在这里实现的信息,很难知道。

相关问题