如果变量未定义,如何将变量更改为某个变量?

时间:2014-02-23 20:12:36

标签: javascript variables undefined

我没有完成脚本或其他任何内容,所以我无法发布代码。基本上我需要一个变量来改变并继续通过一个函数增加一直到它到达目的地。类似的东西:

function one(a) {
    var x = a;
    var max = 3;
    if (a < 3) {
        // some code
        two(x);
    } else {
      // function will end here quitting the whole thing and possibly other code
    }
}
function two(x) {
    var change = x+1;
    one(change);

}

这一切都是我需要的,但是当我第一次输入第一个函数时,如果x = a没有默认为0的值,我该怎么做呢?

类似......

function one(a) {
    var x = a;
    var max = 3;
    if (x = undefined) {
      x = 0;
    } else {
        if (x < 3) {
            // some code
            two(x);
        } else {
          // function will end here quitting the whole thing and possibly other code
        }
    }
}
function two(x) {
    var change = x+1;
    one(change);

}

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

你可以这样做:

function one(a) {
    var x = a || 0;
    if (x < 3) {
        //debugger;
        two(x);
    } else {
        // function will end here quitting the whole thing and possibly other code
        alert('Done');
    }
}

function two(x) {
    x++;
    one(x);
}

one();

<强> FIDDLE

如果var x = a || 0可以声明为xa,则

a表示true0
x++表示x = x + 1

答案 1 :(得分:0)

您可以检查变量是否已定义,并使用短手条件在函数参数中发送。

typeof(a)=="undefined" ? 0 : a;

您可以将代码更改为:

function one(a) {
    var x = (typeof(a)=="undefined" ? 0 : a);
    var max = 3;
    if (x < 3) {
        // some code
        two(x);
    } else {
        // function will end here quitting the whole thing and possibly other code
        return;
    }
}

小提琴:http://jsfiddle.net/gBBL2/

答案 2 :(得分:0)

var x = (typeof a === 'undefined') ? 0 : a;

如果a未定义,请使用0。否则,请使用a作为x的值。