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

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

我无法在Google上找到关于此的更多信息,所以我认为我会吸引群众。 这只是一个普遍问题,而不是具体问题。

Jquery的外部宽度 :

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

如果省略includeMargin或false,则填充和边框包含在计算中; 如果为真,则还包括保证金。

此方法不适用于窗口和文档对象; 对于这些,请改用.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实例时调用浏览器视口的宽度。 要做到这一点,它调用一堆子函数和钩子(参见源代码 )是跨浏览器兼容的(但速度要慢得多)。