history是你浏览过的网页的url(简单的说就是网址)的集合,也就是你的浏览器里的那个历史记录。它在js里是一个内置对象,就跟document一样,它有自己的方法,go就是其中一个。 这个方法的参数是一个数字,它指定要定位的url相对当前页面url位置的下标。当前的url下标为0,所以window.history.go(-1)就是要定位到相对当前页面下标为-1的页面,也就是之前刚刚访问的页面。 再举个例子: 你在地址栏访问百度页面(http://www.baidu.com),这时history里就把这个地址加到了它的集合里,并且将下标定为0. 通过搜索,你访问了新浪的页面(http://www.sina.cn),浏览器又将这个网址放在了history里,并将这个网址的下标定为0,而之前访问的百度页面的下标相对于这次访问的新浪页面就变成了-1. 如果接下来你又通过新闻链接打开了网易页面(http://www.163.com),浏览器就会如上一样又把这个网易放到history里,下标为0,而网易之前一个访问的页面新浪,在history里的下标就变成了-1,同理百度的下标就变成了-2. 这时,你通过window.history.go(-1)语句,能使页面定位到当前页面的前一个页面,也就是新浪网,如果你使用的是window.history.go(-2),就能直接到达百度页面。 总得来说,这句代码的功能就跟你点了浏览器上的返回按钮一样。
有疑问加站长微信联系(非本文作者)