1

我有以下代码:

var rtn = getParams(entity)
if (rtn.rc == false) { return; }
parameters = rtn.param; 

有没有办法可以在 if 语句中调用 getParams ?我还需要把退货吗?用javascript大括号?我正在寻找一种清理此代码片段的方法。任何建议,将不胜感激。

4

3 回答 3

3

我想你追求的是这个...

if(getParams(entity).rc == false)
    return;

 parameters = getParams(entity).params; 

这是完全有效(且合法)的 Javascript。

假设 getParams 返回一个具有 rc 属性的对象,那么您就可以开始了。如果没有,您将因未定义字段(在本例中为 rc)的未捕获异常而失败。

另外,请记住,与其他一些语言不同的是 false != null 和 false != undefined 并且空字符串 "" 既不是 false 也不是 undefined,因此如果您希望此测试正常工作,请确保 rc 为 *actually false。

于 2012-06-07T05:42:15.347 回答
3

还不如一次性完成

if ( (rtn = getParams(entity)).rc ) {
    parameters = rtn.param;
} else {
    return;
}
于 2012-06-07T05:45:18.917 回答
1

我还需要把退货吗?用javascript大括号?

没必要,但推荐。

我正在寻找一种清理此代码片段的方法。用这个替换你的 3 行。

parameters = getParams(entity).rc ? getParams(entity).param : false;
return parameters;
于 2012-06-07T05:49:16.710 回答