如何在函数二中重用变量 y?我已阅读有关此主题的信息,但最简单的解决方案是什么?
function one(){
y = 2
}
function two(){
x = y * 2
}
如何在函数二中重用变量 y?我已阅读有关此主题的信息,但最简单的解决方案是什么?
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();
确实,我想封装每个函数的逻辑。
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());
如果上面的代码解决了我的问题,那么当函数一有多个变量时它是如何工作的。假设我在函数二中需要 50 个唯一变量。
声明要在其他函数中使用的全局变量,例如
var y=0;
function one()
{
y=2
}
function two()
{
x=y*2
}
大概是你想封装每个函数的逻辑,你想让函数二使用函数一的返回值?这样的事情可能是有道理的:
function one(){
var y = 2;
return y;
}
function two(){
var y = one();
var x = y * 2;
}
如果你想完成一些不同的事情,那么你需要添加更多细节。
请注意,通过省略var
您是在全局隐式声明您的变量,这是一个禁忌。