【发布时间】:2013-01-11 17:27:24
【问题描述】:
var bucketId = $.cookie('bucketId');
console.log(bucketId);
var bucketIdNumber = parseInt(bucketId, 10);
console.log("bucketIdNumber " + bucketIdNumber);
在关于 bucketId 的代码中返回“17”。 那么为什么当我 parseInt bucketId 得到 NaN 时呢?
【问题讨论】:
-
你确定
bucketId是"17"? -
parseInt如果无法将字符串解析为数字,则返回NaN。例如。parseInt('asdf10')将返回NaN -
因为 bucketId 并不是真正的 17 :D 这就是为什么当你硬编码
var bucketId = '17';时它可以工作的原因@ -
是的,根据 console.log()
-
发布
window.btoa(bucketId);的输出,这将对它进行base64 编码,为我们提供您的字符串的二进制安全表示,以便我们对其进行检查。但是,您也可以自己检查字符串长度,然后您会发现问题。
标签: javascript parseint