En jQuery, debo usar parseFloat (el.width ()) o parseInt (el.width (), 10)? cuál es más preferida

StackOverflow https://stackoverflow.com/questions/2426148

Pregunta

Siempre he tenido esta pregunta:
Cuando no me importa el número exacto flotante

Es preferible Cuál?

parseFloat

    someValue  = parseFloat(el.outerWidth())+parseFloat(ele2.css("marginRight")),

parseInt

    someValue  = parseInt(el.outerWidth(), 10)+parseInt(ele2.css("marginRight"), 10),

¿Qué método es más fácil para el motor de JS?

¿Fue útil?

Solución

Es tan amplio como es realmente larga. parseFloat tiene sentido aquí porque los valores siempre serán enteros. Prefiero ahorrar en bytes y utilizar el unario + operador:

someValue  = (+el.outerWidth())+(+ele2.css("marginRight"));

Otros consejos

Cuando estás haciendo: el.outerWidth() jQuery ya está regresando y número entero, ver los documentos para este tipo de retorno . Así pues, en este caso, no hay necesidad de analizar el ancho en absoluto.

Debe tenerse en cuenta, hay otra sobrecarga del outerWidth(bool) que incluye el margen si quieres márgenes izquierdo y derecho, que sólo puede hacer esto si ese es el caso:

someValue = el.outerWidth(true);

La mejor solución es la solución del supuesto Andy E, pero para responder a su pregunta: Creo parseFloat no tiene sentido si su número no tiene un punto flotante, por lo que me gustaría utilizar parseInt.

El tamaño de la variable es un factor importante en las comparaciones de rendimiento, pero int y float ocupar el mismo espacio en la memoria (4 bytes), por lo que dosis no importa realmente. Además, parseFloat parece hacer más el cálculo y la cadena de análisis de parseInt.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top