Javascript在其他函数中重用变量
如何在函数2中重复使用变量y?我读过这个话题,但最简单的解决方案是什么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 } 执行您要求的操作的最直接的方法是将它们放入另一个函数中,您在声明它时立即调用它(注意关闭函数后的>()),并在新函数的
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个唯一变量 请注意——仅仅因为你可以声明一个全局变量并不意味着你应该这样做。仅仅因为有人告诉你一个全局变量是坏的,并不意味着它是坏的。