我可以在Javascript的if语句中调用函数吗?

我可以在Javascript的if语句中调用函数吗?,javascript,Javascript,我有以下代码: var rtn = getParams(entity) if (rtn.rc == false) { return; } parameters = rtn.param; 有没有一种方法可以将对getParams的调用放在if语句中?我也需要把回报;在大括号中使用javascript?我正在寻找清理此代码段的方法。任何建议都将不胜感激。我想你想要的是 if(getParams(entity).rc == false) return; parameters = get

我有以下代码:

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

有没有一种方法可以将对getParams的调用放在if语句中?我也需要把回报;在大括号中使用javascript?我正在寻找清理此代码段的方法。任何建议都将不胜感激。

我想你想要的是

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

 parameters = getParams(entity).params; 
这是完全有效(合法)的Javascript

假设getParams返回一个属性为rc的对象,那么就可以开始了。否则,对于未定义的字段(在本例中为rc),您将在未捕获的异常上失败


此外,请记住,与其他一些语言不同,错误!=null和false!=未定义且空字符串“”既不是false也不是未定义的,因此,如果希望此测试正常工作,请确保rc是*false

我想你想要的是

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

 parameters = getParams(entity).params; 
这是完全有效(合法)的Javascript

假设getParams返回一个属性为rc的对象,那么就可以开始了。否则,对于未定义的字段(在本例中为rc),您将在未捕获的异常上失败


此外,请记住,与其他一些语言不同,错误!=null和false!=未定义且空字符串“”既不是false也不是未定义的,因此,如果希望此测试正常工作,请确保rc是*false

不妨一次完成这一切

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

还是一次做完为好

if ( (rtn = getParams(entity)).rc ) {
    parameters = rtn.param;
} else {
    return;
}
我也需要把回报;在大括号中使用javascript

不需要,但建议使用

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

我也需要把回报;在大括号中使用javascript

不需要,但建议使用

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



嗯,你试过
if(getParams(entity.rc==false)
?我不知道你在那里做什么。嗯,你试过
if(getParams(entity.rc==false)
?我不知道你在那里做什么。
if(rtn=getParams(entity))
我看不太好。你说得对,我错过了rc属性,现在更改为准确。我的观点是,他最好分配一次rtn,而不是多次调用getParams。不是吗?
rtn==getParams…
?不,
rtn
将被分配到
getParams
,然后
rtn.rc
将是真或假。这基本上就像说
rtn.rc==true
但是
rtn.rc
就足够了,但是如果你这样做,它总是
true
if(rtn=getParams(entity))
这对我来说不太好。你是对的,我错过了rc属性,现在更改为准确。我的观点是,他最好分配一次rtn,而不是多次调用getParams。不是吗?
rtn==getParams…
?不,
rtn
将被分配到
getParams
,然后
rtn.rc
将是真或假。这基本上类似于说
rtn.rc==true
,但是
rtn.rc
就足够了,但是如果你这样做,它将始终是
true
。从OP的问题来看,问题的关键是返回参数。。。只有当rc字段为false时才会失败。。。除此之外,可能还有更多的代码,不是吗?在您的示例中,
rtn
没有定义@kiranvj,现在您有了双重调用
getParams(entity)
?我认为这不是一个好主意。从OP的问题来看,不清楚重点是返回参数。。。只有当rc字段为false时才会失败。。。除此之外,可能还有更多的代码,不是吗?在您的示例中,
rtn
没有定义@kiranvj,现在您有了双重调用
getParams(entity)
?我认为这不是一个好主意代码中的代码行?如何在
if
语句if
.rc!=false
?@AndrewD.,不知道你的意思。if仅查看rc字段是否为false。如果该字段为false,则函数退出。如果它不是false,那么您将继续使用您获取的对象。。。老实说,我真不敢相信有人否决了这个答案。真正地令人惊讶。@Dr.Dredel-别担心,你仍然有18个声誉。@Dr.Dredel我的意思是你无法获得从
getParam()
返回的对象的
param
字段值并将其存储到
parameters
@Derek,我根本不关心声誉点,我关心的是这个论坛的完整性,在这里大多数人都来互相帮助,但有些人觉得有必要否决他们根本不喜欢的答案,而不是否决那些实际上是错误的答案!其中
parameters=rtn.param代码中的代码行?如何在
if
语句if
.rc!=false
?@AndrewD.,不知道你的意思。if仅查看rc字段是否为false。如果该字段为false,则函数退出。如果它不是false,那么您将继续使用您获取的对象。。。老实说,我真不敢相信有人否决了这个答案。真正地令人惊讶。@Dr.Dredel-别担心,你仍然有18个声誉。@Dr.Dredel我的意思是你无法获得从
getParam()
返回的对象的
param
字段值并将其存储到
parameters
@Derek,我根本不关心声誉点,我关心的是这个论坛的完整性,在这里大多数人都来互相帮助,但有些人觉得有必要否决他们根本不喜欢的答案,而不是否决那些实际上是错误的答案!