如何在条件下检查几个局部变量

New*_*bie 1 javascript

好吧,我发现下面的代码非常重复和烦人.在不使用数组作为起点的情况下重构代码的任何其他方法(也就是说,为了避免在代码中使用array [x],array [y],array [z]作为从数组开始的结果,因为x,y,z完全不相关,为了便于阅读,将它们分组是没有意义的)

var x = "";
var y = "";
var z = "";
...

...variables get set

if(x != undefined && x != "")
    doSomethingHere();

if(y != undefined && y != "")
    doSomethingThere();

if(z != undefined && z != "")
    doSomethingElse();
...
Run Code Online (Sandbox Code Playgroud)

Joe*_*orn 7

至少,您可以将验证规则分解为自己的功能:

function IsValid(x)
{
    return (x != undefined && x != "");
}

var x = "";
var y = "";
var z = "";
//...

//...variables get set

if(IsValid(x)) doSomething();
if(IsValid(y)) doSomething();
if(IsValid(z)) doSomething();
Run Code Online (Sandbox Code Playgroud)


Pim*_*ger 7

除了joel所说的你还可以做以下事情:

function doOnValid(x, func){
 if(x != undefined && x != "") func();
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

doOnValid(x, doSomething);
doOnValid(y, doSomethingElse);
doOnvalid(z, function() { /*Yay lambda function*/ });
Run Code Online (Sandbox Code Playgroud)