代码之家  ›  专栏  ›  技术社区  ›  adardesign

在jquery中,我应该使用parsefloat(el.width())还是parseint(el.width(),10)?哪个更受欢迎

  •  3
  • adardesign  · 技术社区  · 15 年前

    我一直有个问题:
    当我不介意确切的浮点数时

    哪一个比较好?

    鹦鹉学舌

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

    帕林特

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

    哪个方法对于js引擎更容易?

    3 回复  |  直到 15 年前
        1
  •  3
  •   Community CDub    8 年前

    它的宽度和它的长度一样大。 parseFloat 在这里没有意义,因为值总是整数。我宁愿节省字节并使用 unary operator + :

    someValue  = (+el.outerWidth())+(+ele2.css("marginRight"));
    
        2
  •  3
  •   Nick Craver    15 年前

    当你在做: el.outerWidth() jquery已经在返回和integer, see the docs for return types . 所以在这种情况下,根本不需要解析宽度。

    需要注意的是,还有一个超负荷的 outerWidth(bool) 如果您需要左右页边距,您可以这样做:

    someValue = el.outerWidth(true);
    
        3
  •  3
  •   Alon Gubkin    15 年前

    最好的解决方案当然是Andy E的解决方案,但要回答您的问题: 我想 parseFloat 如果你的数字没有浮点数就没有意义,所以我会用 parseInt .

    变量的大小是这些性能比较中的一个重要因素,但是 int float 占用内存中相同的空间(4字节),所以这并不重要。此外, 鹦鹉学舌 似乎比 帕林特 .