正如《JavaScript高级程序设计》中所说的一样:“跨浏览器确定一个窗口的大小并不是一件简单的事。”浏览器为此提供了四个属性:innerWidth,innerHeight,outerWidth和outerHeight。《JavaScript高级程序设计》中说不同的浏览器对于这四个属性的返回值不同,但经过我的测试(我的浏览器版本分别为Chrome62.0.3202.75,Firefox57.0,Safari5.1.7和IE11.0.47),innerWidth和innerHeight都返回视口的宽和高(包括滚动条),而outerWidth和outerHeight都返回浏览器窗口本身的宽和高。(在测试的过程中我还发现了一个原来没有注意到的问题:IE不支持console。)
jQuery中的$(window).width()和$(window).height()相当于innerWidth和innerHeight,获取浏览器时下窗口可视区域的宽度和高度。