需要对简单代码进行解释

Need an explanation on simple code

本文关键字:解释 代码 简单      更新时间:2023-09-26
$('#ID').on('click', function() {
    if(!CommonUtil.compareDateById('startDt','endDt',false, false, true)) {
        return false;           
    }
    var cnt = 0;
    if(!CommonUtil.isNullOrEmptyById('startDt'))     { cnt++; }
if(cnt == 0) {
        CommonUtil.setFocusById('srchWord','<spring:message code="confirm.input" arguments="XXXX"/>');
        return false;

因此,如果我单击 #ID,则会出现以下逻辑。我的问题是什么 无功 CNT = 0;

if(!CommonUtil.isNullOrEmptyById('startDt')) {
    cnt++;
}

意味 着?

isNullOrEmptyById的功能如下:

isNullOrEmptyById: function(id) {
    var value = this.getTrimValueById(id);
    return this.isNullOrEmpty(value);
},

但是什么

cnt++;

在这里做??

这只是

一个if条件块:

if(!CommonUtil.isNullOrEmptyById('startDt')) {
  cnt++;
}

因此,如果CommonUtil.isNullOrEmptyById('startDt')解析为 false ,则条件解析为 true 并执行块中的代码:

cnt++;

++运算符递增该值。 因此,无论cnt中的任何数值都将递增 1。

不过,在代码的整体上下文中,它似乎将cnt视为布尔值而不是整数。 除非此示例之外有更多代码,否则可以通过对最后一个条件块使用此条件来简化此操作,而不是使用 cnt 然后检查其值。

这实际上是不必要的。由于 cnt 仅在其值为 0 或 1 时才递增。相反,你可以摆脱所有这些并使用isNullOrEmptyById函数。

if(!CommonUtil.isNullOrEmptyById('startDt')){
   CommonUtil.setFocusById('srchWord','<spring:message code="confirm.input" arguments="XXXX"/>');
   return false;  
}