Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在其他函数中重用变量_Javascript_Variables_Global Variables - Fatal编程技术网

Javascript在其他函数中重用变量

Javascript在其他函数中重用变量,javascript,variables,global-variables,Javascript,Variables,Global Variables,如何在函数2中重复使用变量y?我读过这个话题,但最简单的解决方案是什么 function one(){ y = 2 } function two(){ x = y * 2 }​ 声明要在其他函数中使用的全局变量,如 var y=0; function one() { y=2 } function two() { x=y*2 }​ 执行您要求的操作的最直接的方法是将它们放入另一个函数中,您在声明它时立即调用它(注意关闭函数后的>()),并在新函数的

如何在函数2中重复使用变量y?我读过这个话题,但最简单的解决方案是什么

function one(){
    y = 2 
}

function two(){
    x = y * 2 
}​

声明要在其他函数中使用的全局变量,如

var y=0;
function one()
{
    y=2 

}

function two()
{
    x=y*2 
}​

执行您要求的操作的最直接的方法是将它们放入另一个函数中,您在声明它时立即调用它(注意关闭函数后的
>()
),并在新函数的作用域中声明变量。这两个内部函数都可以查看和修改它们的值

您还需要在包装器函数之外声明包含内部函数本身的变量,以便希望调用它们的代码可以看到它们

var one, two;

(function() {
  var x, y;

  one = function() {
    y = 2;
  };

  two = function() {
    y = y * 2;
  };
}())

one();
two();
另一种常见方法是使用对象及其属性而不是变量:

var myObject = {
  one: function() {
    this.y = 2;
  },
  two: function() {
    this.x = this.y * 2;
  }
}

myObject.one();
myObject.two();

假设您希望封装每个函数的逻辑,并且希望函数2使用函数1的返回值?像这样的事情可能有道理:

function one(){
    var y = 2;
    return y;
}

function two(){
    var y = one();
    var x = y * 2;
}​
如果你试图完成一些不同的事情,那么你需要添加更多的细节


请注意,通过省略
var
,您是在全局隐式声明变量,这是一个禁忌。

事实上,我希望封装每个函数的逻辑

var y=3;
var x=3;

function one(){
    var y = 2;
    return y;

}

function two(){
    var y = one();
    var x = y * 2;
    return x;
}


document.write(one());
document.write(two());​

如果上面的代码解决了我的问题,那么当函数1有多个变量时,它是如何工作的呢。假设函数2中需要50个唯一变量

请注意——仅仅因为你可以声明一个全局变量并不意味着你应该这样做。仅仅因为有人告诉你一个全局变量是坏的,并不意味着它是坏的。