Ich bekomme ein paar sehr seltsame Ergebnisse hier. Ich versuche, eine Zeichenfolge in eine ganze Zahl zu konvertieren. Betrachten Sie den folgenden Code unten.NaN erhalten, wenn versucht wird, String zu int zu werfen
//Send back to client.
io.emit('returned message', {
'message': message,
'chatid': chatid,
'userid': userid
});
console.log("Returning the data to chat " + chatid);
Welche Daten zurück an den Client, das Konsolenprotokoll sieht wie folgt aus sendet:
Rückgabe der Daten an den Chat '5'
und im Client Ich habe
alert(typeof msg.chatid);
alert(msg.chatid)
var test = Number(msg.chatid);
alert(typeof test)
alert(test);
Dies ergibt die folgenden Ergebnisse
String und '5' Anzahl und NaN
Bitte beachten Sie, ich habe versucht, Number() und parseInt()
jedoch in Jsfiddle zu Code versucht, es funktioniert gut . Ich habe keine Ahnung, warum ich NaN bekomme. Irgendwelche Ideen?
var num = '5';
alert(Number(num));
Versuchen Sie bieten 'msg.chatid.length' und' msg.chatid.charCodeAt (0) Ausgabe von ' – 4castle
Ich habe das Gefühl, dass der eigentliche Inhalt von chatid '' 5'' anstatt '5' ist, weshalb es nicht in eine Zahl geparst werden kann. Ansonsten sehe ich keinen Grund, warum Sie diese Anführungszeichen in Ihrer console.log erhalten würden. * Edit *: Bestätigt es mit dem nächsten Kommentar, Char-Code von ''' ist 39. – JCOC611
@ 4castle 'msg.chatid.length' zurückgegeben 3 und' msg.chatid.charCodeAt (0) 'zurückgegeben 39 – Tony