Encontré un error en una secuencia de comandos que se escribió, y estoy teniendo problemas para averiguar exactamente qué está causando los problemas. Específicamente:¿Qué conversiones de tipo Javascript están pasando aquí?
"49px" < 50 === false
Hay dos diferentes conversiones que se me ocurren aquí:
49 < 50 === true
"49px" < "50" === true
"49" < 50 === true // just for the hell of it
lo arreglé con:
parseInt("49px") < 50 === true
Entonces, ¿por qué este resultado false? ¿Qué está pasando exactamente aquí?
Consulte el [Algoritmo abstracto de comparación relacional] (http://es5.github.com/#x11.8.5) ... –
La corrección no es adecuada. El número ("49px") ocurre, parseInt/Float se comporta de manera diferente – user422039
y no especifica una raíz en su parse int ?! https://developer.mozilla.org/es/JavaScript/Reference/Global_Objects/parseInt ¡hazlo ahora mientras no sea demasiado tarde! – Incognito