假设我在一个函数内部有一个条件语句,该函数被设置为每次运行时触发另一个具有特定值的函数(在这种情况下,每次运行条件的不同部分时var的值都会改变:
function runOne() {
if (s=='false') {
runTwo();
} else if (p=='false') {
runTwo();
} else if (d=='false') {
runTwo();
}
}
function runTwo() {
addSomething(k);
}
如何让第二个函数每次都知道k的新值是什么?我将如何设置它?
感谢任何可以提供帮助的人!
答案 0 :(得分:1)
你可以将它作为参数传递......像这样:
function runOne() {
if (s=='false') {
runTwo(s);
} else if (p=='false') {
runTwo(p);
} else if (d=='false') {
runTwo(d);
}
}
function runTwo(newVar) {
addSomething(newVar);
}
答案 1 :(得分:0)
在Javascript中,可以在该函数中访问在函数“up”某个级别定义的变量。全局变量是window
对象的memebrs,并且可以在脚本中的任何位置访问,即使它们是在您使用它们的函数之后定义的(由于变量提升)。有关更好的解释,请参阅this。
var foo = 1; // window.foo
function a()
{
alert(foo);
alert(bar);
}
var bar = 2; // window.bar
a(); // alerts 1, then 2