【问题标题】:Passing a local variable from one function to another将局部变量从一个函数传递到另一个函数
【发布时间】:2012-05-21 17:22:24
【问题描述】:

我是 JavaScript 的初学者,想问以下问题:我有两个简单的函数,想知道是否有任何方法可以将变量值从一个函数传递到另一个函数。我知道我可以将它移到函数之外以便在其他函数中使用,但只需要知道如何拥有一个局部变量并在我的第二个函数中使用它。这可能吗?如何实现?

这里有一些代码:

window.onload = function show(){
    var x = 3;
}

function trig(){
    alert(x);
}
trig();

问题是:如何从我的第二个函数trig 访问变量x(在函数show 中声明)?

【问题讨论】:

  • 你问的不是很清楚......你是从另一个函数中调用一个函数吗?贴一些示例代码。
  • 如果你得到你想要的信息,不要忘记将答案标记为已接受......

标签: javascript function variables


【解决方案1】:

第一种方法是

function function1()
{
  var variable1=12;
  function2(variable1);
}

function function2(val)
{
  var variableOfFunction1 = val;

// 然后你将不得不对变量 1 使用这个函数,所以它并没有太大帮助,除非你想要这样做。 }

第二种方法是

var globalVariable;
function function1()
{
  globalVariable=12;
  function2();
}

function function2()
{
  var local = globalVariable;
}

【讨论】:

  • 我使用了第二种方法,它奏效了。我来这个网站不是为了“借”代码。我想确切地了解发生了什么,这样我就可以看到我的逻辑中的谬误在哪里。如果有人可以进一步解释,请做。在第二种方式中,我看到的是一个被声明的全局变量,一个为该全局变量分配值 12 的函数,然后在一个函数中调用一个函数以将两个函数连接在一起。然后是一个能够将全局变量值存储到局部变量中的函数。是这样吗??
  • @user2585548 第一个完全符合问题的要求。它创建一个局部变量并将其值传递给另一个函数。第二个函数创建一个全局变量并在第一个函数中设置一个值。当从第一个函数调用第二个函数时,使用全局变量的值(在第一个函数中设置)声明一个局部变量。
【解决方案2】:

添加到@pranay-rana 的列表:

第三种方法是:

function passFromValue(){
    var x = 15;
    return x;  
}
function passToValue() {
    var y = passFromValue();
    console.log(y);//15
}
passToValue(); 

【讨论】:

  • 谢谢。我遵循了这个方法。对我来说效果很好。
【解决方案3】:

您可以很容易地使用它在另一个函数中重用变量的值。

// Use this in source
window.var1=  oEvent.getSource().getBindingContext();

// Get value of var1 in destination
var var2=  window.var1;

【讨论】:

    猜你喜欢
    • 2017-03-26
    • 2023-02-26
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多