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实例时调用浏览器视口的宽度。 要做到这一点,它调用一堆子函数和钩子(参见源代码 )是跨浏览器兼容的(但速度要慢得多)。