ここでは非常に奇妙な結果が得られます。文字列を整数に変換しようとしています。以下のコードを考えてみましょう。文字列をint型にキャストしようとしたときにNaNを取得する
戻ってクライアントにデータを送信している //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の
注意してください、私が試した番号()とのparseInt()は
しかし、Jsfiddle内のコードにしようと、それが正常に動作します。なぜ私がNaNを得ているのか分かりません。何か案は?
var num = '5'; alert(Number(num));
がmsg.chatid.charCodeAt(0) '' ' – 4castle
出力msg.chatid.length'と試してみてください提供することができます私はchatidの実際の内容が「5」ではなく「5」であるという気持ちがあります。なぜなら、それは数に解析できないからです。それ以外の場合は、あなたのconsole.logに引用符を付ける理由はありません。 *編集*:次のコメントで確認しました。 '''の文字コードは39です。 – JCOC611
@ 4castle 'msg.chatid.length'が3を返し、' msg.chatid.charCodeAt(0) 'が返されました39 – Tony