我有以下两个函数...
function splitTitleString(titleText)
{
var titleText = titleText;
var temp = new Array();
temp = titleText.split(' - ');
var now = new Date().getTime();
var warningExpResp = 7200000;
var expRespDateTimeTicks = 0;
var slaDateTimeTicks = 0;
if(temp[0].length > 0)
{
slaDateTimeTicks = getTicks(temp[0]);
}
if(temp[1].length > 0)
{
expRespDateTimeTicks = getTicks(temp[1]);
}
var returnTicksArray = new Array(slaDateTimeTicks,expRespDateTimeTicks);
return returnTicksArray;
}
还有……
function warning(titleText, serverDateTime, warningLengthMins, warningType)
{
var warningLengthTicks = warningLengthMins * (60 * 1000);
var ticks = new Array(splitTitleString(titleText));
var sla = parseInt(ticks[0]);
var resp = parseInt(ticks[1]);
var serverTicks = getTicks(serverDateTime);
// some other work....
}
我遇到的问题是 'resp' 总是 NaN 即使 'ticks 1 ' 绝对是?
PS:我不是JavaScript开发人员,所以如果代码不好,请多多关照。
最佳答案
如果您在 warning()
函数之外访问 resp
,您的问题是通过使用 var resp
,您定义了一个新变量仅在包含函数中可见。如果 resp 应该是一个全局变量,删除 var
关键字,你应该没问题。
有关 Javascript 中局部变量和全局变量的详细介绍,请参见此处:Variable scope and the var keyword
关于JavaScript 是一个 NaN,但我知道它不是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2063988/