En jQuery, debo usar parseFloat (el.width ()) o parseInt (el.width (), 10)? cuál es más preferida
-
19-09-2019 - |
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?
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
.