window.outerWidth VS $(window).outerWidth()

window.outerWidth VS $(window).outerWidth()

本文关键字:window outerWidth VS      更新时间:2023-11-22

我只是好奇window.outerWidth$(window).outerWidth()之间的区别(如果有的话)。

我在谷歌上找不到太多关于这方面的信息,所以我想我会吸引大众。这只是一个一般性的问题,而不是一个具体的问题。

Jquery的outerWidth:

返回元素的宽度以及左右填充,边框,以及可选的边距,以像素为单位。

如果includeMargin被省略或为false,则填充和边框为包含在计算中;如果为true,则还包括边距。

此方法不适用于窗口和文档对象;对于请改用.width()。

window.outerWidth:

window.outerWidth获取浏览器窗口外部的宽度。它表示包括侧边栏在内的整个浏览器窗口的宽度(如果展开)、窗口镀铬和窗口大小调整边框/手柄。

来自jQuery文档(http://api.jquery.com/outerWidth/):

此方法不适用于窗口和文档对象;对于这些,请改用.width()。

因此,您应该使用$(window).width(),它返回:

"浏览器视口的宽度"(所以没有窗口边界和其他东西)

window.outerWidth返回整个窗口宽度(包括边框和其他内容)

关于outerWidth的细节:jQuery的实现可以让您选择是否要在度量中包含裕度。Javascript只是得到了数字。我不知道它是否包括保证金。

jQuery只是一堆花哨的JavaScript。事实上,您只需使用JavaScript就可以实现jQuery自己所做的任何事情(我鼓励您这样做)!我鼓励你读这样的问题。

正如您在jQuery文档中所读到的:

此方法不适用于窗口和文档对象;对于这些,请改用.width()

window.outerWidth获取浏览器窗口外部的宽度时,jQuery的.width()方法在window选择jQuery实例上调用时确实返回浏览器视口的宽度。为此,它调用了一堆子函数和钩子(请参阅源代码),以实现跨浏览器兼容(但速度要慢得多)。