Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试将字符串强制转换为int时获取NaN_Javascript_Jquery - Fatal编程技术网

Javascript 尝试将字符串强制转换为int时获取NaN

Javascript 尝试将字符串强制转换为int时获取NaN,javascript,jquery,Javascript,Jquery,我得到了一些非常奇怪的结果。我正在尝试将字符串转换为整数。考虑下面的代码。 //Send back to client. io.emit('returned message', { 'message': message, 'chatid': chatid, 'userid': userid }); conso

我得到了一些非常奇怪的结果。我正在尝试将字符串转换为整数。考虑下面的代码。

           //Send back to client.
            io.emit('returned message', {
                'message': message,
                'chatid': chatid,
                'userid': userid
            });
            console.log("Returning the data to chat " + chatid);
将数据发送回客户端时,控制台日志如下所示:

将数据返回聊天室“5”

在我的客户中

alert(typeof msg.chatid);
alert(msg.chatid)
var test = Number(msg.chatid);
alert(typeof test)
alert(test);
这将产生以下结果

字符串和'5' 数字与NaN

请注意,我尝试了Number()和parseInt()

但是,如果尝试用JSFIDLE编码,效果会很好。我不知道我为什么要去南。有什么想法吗

var num='5';
警报(编号(num))尝试使用
parseInt()

var num='5';

警报(parseInt(num))在“int”值周围有一个引号

将数据返回聊天室“5”


看起来它是在套接字传输之前转义的?

您可以使用+快速转换为数字并提供回退

var getNum=(n)=>(+n)+n:-1
var chatid='5'
var chatidinvalid='5test'
var chatidnan=NaN
log(“将数据返回聊天室”,getNum(chatid));
log(“将数据返回到chatidinvalid:,getNum(chatidinvalid));

log(“将数据返回到chatidValid:,getNum(chatidnan))msg.chatid.length
msg.chatid.charCodeAt(0)
我感觉chatid的实际内容是
'5'
而不是
5
,这就是它不能被解析成数字的原因。否则,我看不出有什么理由在console.log上使用这些引号。编辑:用下一条注释确认,字符代码为39。@4castle
msg.chatid.length
返回3,并且
msg.chatid.charCodeAt(0)
返回39@RokoC.Buljan我正在使用Socket.io将数据从服务器发送到客户端。我在客户端和服务器上都使用console.log,两个结果都返回'5'你说得对!它已经逃脱了…抓得好!如果允许的话,我会在2分钟内给你答复。非常感谢。不客气。将来:如果它说它是NaN,那么它就是NaN;)