将新变量值传递给DOM中较低的函数

时间:2011-03-02 21:38:12

标签: javascript

假设我在一个函数内部有一个条件语句,该函数被设置为每次运行时触发另一个具有特定值的函数(在这种情况下,每次运行条件的不同部分时var的值都会改变:

function runOne() {
    if (s=='false') {
       runTwo();
    } else if (p=='false') {
       runTwo();
    } else if (d=='false') { 
       runTwo();
    }
}

function runTwo() {
 addSomething(k);
}

如何让第二个函数每次都知道k的新值是什么?我将如何设置它?

感谢任何可以提供帮助的人!

2 个答案:

答案 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