JavaScript 是一个 NaN,但我知道它不是?

标签 javascript nan

我有以下两个函数...

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/

相关文章:

javascript - HTML5音频点击进度条移动到不同时间

javascript - 如何通过 ID 仅隐藏列表项中的图像?

javascript - 如何使用 Gulp 缓存破坏新的应用程序构建?

javascript - 字符计数器和限制器出现 Nan 错误

python - NaN 导致 tensorflow 神经网络

python - 使用 Pandas 忽略 .diff() 中的 NaN

javascript - 为什么 this.setState 仅在 React js 应用程序中的两次提交事件后才起作用?

javascript - 从多个 <select>/<option> 获取值时出现问题

java - 为什么 Double.NaN==Double.NaN 返回 false?

JavaScript 函数返回 NaN