In jQuery, devo usare parseFloat (el.width ()) o parseInt (el.width (), 10)? che è più preferito
-
19-09-2019 - |
Domanda
Ho sempre avuto questa domanda:
Quando io non importa il numero esatto di galleggiamento
Qual è preferito?
parseFloat
someValue = parseFloat(el.outerWidth())+parseFloat(ele2.css("marginRight")),
parseInt
someValue = parseInt(el.outerWidth(), 10)+parseInt(ele2.css("marginRight"), 10),
Quale metodo è più facile per il motore JS?
Soluzione
E 'quanto più ampia è lungo davvero. parseFloat
è inutile qui perché i valori saranno sempre numeri interi. Preferirei risparmiare sulle byte e utilizzare il unario operatore +
:
someValue = (+el.outerWidth())+(+ele2.css("marginRight"));
Altri suggerimenti
Quando si sta facendo: el.outerWidth()
jQuery è già tornando e intero, vedere la documentazione per i tipi di ritorno . Quindi, in questo caso, non c'è bisogno di analizzare la larghezza a tutti.
Si deve notare, c'è un altro sovraccarico outerWidth(bool)
che include il margine, se si desidera margini destro e sinistro, si può solo fare questo se questo è il caso:
someValue = el.outerWidth(true);
La soluzione migliore è di soluzione naturalmente Andy E, ma per rispondere alla tua domanda:
Penso parseFloat
è inutile se il vostro numero non ha un virgola mobile, quindi vorrei usare parseInt
.
La dimensione della variabile è un fattore importante nei confronti delle prestazioni, ma int
e float
occupano lo stesso spazio nella memoria (4 byte), quindi dosen't importa. Inoltre, parseFloat
sembra fare di più il calcolo e la stringa-analisi di parseInt
.