加入时20:35
问题出在这里,由于有字符串,这里加号功能是字符串连接
结果是"下午8"-12
由于减号不支持字符串操作,只能尝试将"下午8"转换为数字,结果发现无法转换
因此就产生了NaN 意思是 not a number 。即 非数字。
因此这个表达式改为:"下午" + (hours - 12)即可
另外 写程序不需要莫名的一些括弧
timeValue = hours >12 ? "下午 " + (hours -12) : "上午 "+hours
这样写完全可以达到目的
也能让表达式看起来更清晰
这个问题建议附上代码方可调试。不过据一般此类问题的经验来看,是js中获取系统常量的语法存在的兼容问题导致的计算值不足而报的异常。
这种问题建议使用步进输出日志进行调试。