【发布时间】:2014-08-17 19:03:31
【问题描述】:
pos1 和 pos2 都是 javascript 数字,但是当我从另一个减去一个时,我得到 NaN。
var str = "2014/6/3 ";
var y = str.substr(2,2);
var pos1 = str.indexOf("/");
var pos2 = str.indexOf("/", pos1+1);
pos2 = ((pos2-pos1)==2 ? 1 : 2 );
var m = str.substr(pos1+1, pos2);
var d = str.substr(pos2+1);
var i = (m.length < 2 ? str("0") + m : m) + "/" + (d.length = 2 || "0" + d) + "/" + y + "*";
alert(pos1 + "|" + pos2 + "|" + m + "|" + pos2);
【问题讨论】:
-
所以通过记录你的值来调试你的代码。有时你只需要弄脏你的手。
-
你的问题是什么?
-
@cookiemonster 我做到了。 pos1 是 4,pos2 是 6。
-
@admdrew 为什么当我从 pos2 中减去 pos1 时会得到 NaN?
-
阅读运算符优先级和关联性。调试将涉及执行
console.log(pos2-pos1);之类的操作并查看它是否有效,然后尝试console.log("|" + pos2-pos1);并查看它没有,然后从中推断出可能的问题。
标签: javascript math casting int nan