如何从一个函数调用变量到另一个函数

时间:2018-11-04 07:49:45

标签: javascript html

我有两个函数,外部是函数first()和内部是second(),但是当我调用第二个函数并调用第一个函数值的值时,它显示的第二个函数是不确定的。如何在此处调用alert可以帮助您我。实际上我的要求就是这样,代码在这里

html

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div onclick=second() id="second">Click</div>

脚本

function first(){
    var x =1 ;  
function second(){
alert(x);
}
}

5 个答案:

答案 0 :(得分:0)

内部功能在第一个功能范围中定义。如果要调用它,则不应将其用作内部函数。将x定义为全局变量,并在需要时调用第一个或第二个。

var x = 1;
function first(){
  x = 2;  
}

function second(){
  alert(x);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div onclick="second()" id="second">Click</div>

答案 1 :(得分:0)

将x定义为全局变量。

操作方法-在函数外部定义变量,所有函数的作用域都可以访问它。

答案 2 :(得分:0)

嵌套函数是本地函数,您不能从外部范围调用。

<button onclick=first() id="second">Click</button>


function first(){
    var x =1 ;  
function second(){
alert(x)
}
return second()

}

答案 3 :(得分:0)

您需要将变量定义为Global 这是一个如何在Javascript代码中使用全局变量的示例

function m(){  
window.value=100;//declaring global variable by window object  
}  
function n(){  
alert(window.value);//accessing global variable from other function  
}  

因此,您可以像这样编辑代码:

function first(){
    window.value =1 ;  
function second(){
alert(window.value);
}
}

答案 4 :(得分:0)

实际上有多种方法可以实现这一目标。如前所述,您可以将变量置于全局范围。

但这是所谓的模块模式的一个很好的例子。您可以通过包装一个嵌套函数来返回嵌套函数:

function first() {
  var x = 1;

  function second() {
    alert(x);
  }
  return second(x)
}

alert(first());

此模式非常有用,因为它允许您创建所谓的私有变量,只有通过调用某种方法才能访问。