大家都知道用js获取网页地址,是一种常用的方式,但前几天遇到一个“奇葩“问题,获取网页地址时导致页面无限刷新了
下面我们先看下代码:
var location=window.location.href;
大家能看出上面这句代码有什么问题么,就是一个简单的获取赋值过程!运行后却出现无限刷新页面的情况
接下来分析下出错原因:
location是window对象的属性,js规定window下的属性或方法在调用时可以省略window,比如window.location和location是同等的。讲到这里是否看明白了呢?
上面那句代码其实是给window的location赋值为当前的url,所以遇到这句代码就会刷新一次页面,就导致了无限刷新的问题
咱们来给这句代码变形一下,以便更清晰直观的看到原因。
var location=window.location.href == window.location=window.location.href
当醒悟过来,真是觉得被自己”奇葩“了一下!!!