【发布时间】:2015-11-06 05:40:59
【问题描述】:
我在使用 parseInt() 时遇到了一些奇怪的行为。
webSocket.onmessage = function (event) {
var raw = event.data;
alert(raw);
var data = raw.split(":");
alert("lat:\"" + data[0] + "\" lon:\"" + data[1] + "\"");
var x = parseInt(data[0]);
var y = parseInt(data[1]);
alert("lat:" + x + " lon:" + y);
}
第一个警报输出:100:100 - 这是从服务器发送的字符串。
第二个警报输出:lat:"100" lon:"100" - 这很好
但是,第三个警报输出:lat:1 lon:NaN
这是什么原因造成的?
更新:
问题是服务器端的编码生成了一些不可见的不需要的字符。我更新了服务器代码,问题就消失了。 Working solution.
【问题讨论】:
-
我很想知道...会是这么愚蠢的事情,我们甚至都没有想过:D
-
可能是第二个数据中看不到的空格、制表符等字符
-
如果你这样做会发生什么:
var x = parseInt(data[0]) || 0;? -
你的浏览器是什么? :)
标签: javascript websocket parseint