JavaScript未读取else代码中的变量值
我正在尝试打印以下JavaScript的日志。但是,脚本没有打印日志值。我突出显示了脚本在JavaScript未读取else代码中的变量值,javascript,if-statement,Javascript,If Statement,我正在尝试打印以下JavaScript的日志。但是,脚本没有打印日志值。我突出显示了脚本在if/else代码中应该识别的变量值,但是在else之后,它不是从if/else语句外部读取$systemDate;因此,它没有记录$dueDate的值。我正在尝试以下代码: _wait(_div("/date-display .* bwc-selected/")); var $date = _getText(_div("/date-display .* bwc-selected/")); _wait(2
if
/else
代码中应该识别的变量值,但是在else
之后,它不是从if
/else
语句外部读取$systemDate
;因此,它没有记录$dueDate
的值。我正在尝试以下代码:
_wait(_div("/date-display .* bwc-selected/"));
var $date = _getText(_div("/date-display .* bwc-selected/"));
_wait(2000);
_log($date);
_wait(2000);
var str = ($date)
var d = new Date(str)
var $systemDate = (d.getUTCMonth()+1) +"/"+ d.getUTCDate() + "/" + d.getUTCFullYear();
_log('System Date is:' + $systemDate);
var $dueDate = person.$dueDate;
if ($dueDate != null)
{
var $dueDate = person.$dueDate;
person.$dueDate = $dueDate;
_log('Due Date is:' + $dueDate);
}
else
{
var $days = 90;
var $theDate = new Date($systemDate);
var $pregnancyDueDate = new Date($theDate);
$pregnancyDueDate.setDate($pregnancyDueDate.getDate() + $days);
var due = ($pregnancyDueDate);
var n = new Date(due);
var $dueDate = (n.getUTCMonth()+1) +"/"+ n.getUTCDate() + "/" + n.getUTCFullYear();
_log('Due Date is:' + $dueDate);
person.$dueDate = $dueDate;
}
不要重新声明变量! 从
var $dueDate = (n.getUTCMonth()+1) +"/"+ n.getUTCDate() + "/" + n.getUTCFullYear();
应该是:
$dueDate = (n.getUTCMonth()+1) +"/"+ n.getUTCDate() + "/" + n.getUTCFullYear();
您的变量在if之前已在此处声明
var $dueDate = person.$dueDate;
最后将您的if条件更新为:
if ($dueDate != "")
因为你的单元格可以是空的,不包含空值什么是
\u log()
?哦,天哪!!请,请阅读有关javascript变量作用域的内容。这是因为您在这两个作用域中都重新声明了变量,而这两个作用域实际上都不是精确的。Hi Weedoze-以下是日志:_log(“2017年3月16日星期四”)_wait(2000)_log(“Curam系统日期为:”+“2017年3月16日”)_log(“怀孕到期日为:+”)另一件事是,在第一个If语句中,如果脚本在脚本中找不到值,脚本将尝试从excel表中读取值,然后脚本将转到Else语句,其中脚本将调用$systemDate和90天,并进一步使用该日期。hi Loay-脚本正在读取日志('Curam System date为:'+$systemDate);然后检索$systemDate,但不在Else之后调用$systemDate。另一件事是,在第一个If语句中,脚本将尝试从excel工作表中读取值,如果脚本在脚本中找不到值,则脚本将转到Else语句,脚本将调用$systemDate和90天,并进一步使用该日期。是否尝试过输出您的系统数据以查看其是否正确?执行之前,var$theDate=新日期($systemDate)代码>通过输出来验证变量设置是否正确。我还有一个问题,为什么要做var$theDate=newdate($systemDate)代码>然后var$pregnanceduedate=新日期($theDate)代码>为什么不执行var$pregnanceduedate=新日期($systemDate)代码>直接?另一个问题是您使用的是javascript还是jquery?Loay-我使用的是javascript。我尝试在Else之后输出$systemDate,但它没有在那里打印$systemDate。它应该在Else之后打印$systemDate。