В jQuery я должен использовать parseFloat (el.width ()) или parseInt (el.width (), 10)? какой из них более предпочтителен - PullRequest
3 голосов
/ 11 марта 2010

У меня всегда был такой вопрос:
Когда я не возражаю против точного плавающего числа

Какой из них предпочтительнее?

parseFloat

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

ParseInt

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

Какой метод проще для движка JS?

Ответы [ 3 ]

3 голосов
/ 11 марта 2010

Когда вы делаете: el.outerWidth() jQuery уже возвращает целое число, см. Документы для типов возврата . Так что в этом случае нет необходимости вообще разбирать ширину.

Следует отметить, что есть еще одна перегрузка outerWidth(bool), которая включает маржу, если вы хотите оставить поля слева и справа, вы можете просто сделать это, если это так:

someValue = el.outerWidth(true);
3 голосов
/ 11 марта 2010

Лучшее решение, конечно, решение Энди Э, но ответить на ваш вопрос: Я думаю, что parseFloat бессмысленно, если у вашего числа нет плавающей запятой, поэтому я бы использовал parseInt.

Размер переменной является важным фактором в этих сравнениях производительности, но int и float занимают одинаковое пространство в памяти (4 байта), так что это не имеет большого значения. Кроме того, parseFloat, кажется, делает больше вычислений и разбора строк, чем parseInt.

3 голосов
/ 11 марта 2010

Он такой же широкий, как и длинный. parseFloat здесь бессмысленно, потому что значения всегда будут целыми числами. Я бы предпочел сэкономить на байтах и ​​использовать унарный оператор +:

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