如何避免嵌套的if语句

时间:2014-12-30 09:39:49

标签: javascript jquery

我使用以下代码,我想尽量避免这种嵌套if 有一种方法可以更好地在java脚本中编写这段代码吗?我必须使用所有if ...但是有一种方法可以更好地编写它......

...

} else if (NotImplementedError) {

        var oDeImpl = this._oIn.getMReturnValue(sMethod);

        if (s.getEnv("debMod")) {
            that._error("Method: " + sMethod + " not implemented" );
        } else {
            //Check if  was provided
            if (typeof oDeImpl !== 'undefined') {
                vValue = oDeImpl.def;

                if (oDefImpl.type === "object") {
                    vVal = jQuery.extend({}, vVal);
                }

                impl[sMet] = function() {
                    return vVal;
                };
            } else {
                console.error("Method: " + sMethod + " not implemented" );
                return Q();
            }
        }
    }

2 个答案:

答案 0 :(得分:1)

s.getEnv("debMod")可以通过if

退出NotImplementedError



//somewhere above main if statement
var isDebug = s.getEnv("debMod");


} else if (NotImplementedError && !isDebug) {

    var oDeImpl = this._oIn.getMReturnValue(sMethod);
    
    if (typeof oDeImpl !== 'undefined') {
        vValue = oDeImpl.def;
        
        if (oDefImpl.type === "object") {
            vVal = jQuery.extend({}, vVal);
        }
        
        impl[sMet] = function() {
            return vVal;
        };
    } else {
        console.error("Method: " + sMethod + " not implemented" );
        return Q();
    }
}
else if (isDebug) {
    that._error("Method: " + sMethod + " not implemented" );
}




答案 1 :(得分:0)

实际上,这取决于程序员的技能。但是有一些方法可以做到这一点。

即。你可以在一个中使用多个条件,并将它们与&&(AND)/ ||(OR)联系起来。

或使用(Condition)? //if true : //if false语法来处理小条件......