楼主的问题 我研究了半天 没搞明白 作用.
似乎是没有意义的
我开始以为 它等于是 给window.location={};但是 测试下 不是那么回事...
谁研究下
.我也想知道 这句的作用..
另外 我查了下 资料 对于window.location
这是个属性集合
而对于document.location 是对象
但是呢. 测试下 alert(window.location===document.location)
结果是true ....
继续测试, 结果让我居丧. 有些颠覆我对js 的认知.
我一直以为
在window 下 var variable=123;
就是给window对象声明了 一个私有属性.
而 但是这点认知 被window.location 给打破了
一般来说在根环境下
var a=1; //或window.a={}
var a=2
的执行情况和
var a=1;//or window.a={}
a=2;
以及
var a=1;//or window.a={}
window.a=2;
最终打印出来的a 都是一致的...
但是 对于window的固有私有方法 alert() 其行为则不同.
你不能 alert={}
但是可以 window.alert={} 或 var alert={} (这个情况和楼主说的情况类似.)
可是起结果又完全不同
var alert={}
后 alert 因为是在window环境中声明 同样是等于覆盖了 原来的window对象的私有方法window.alert()
但是 var location={} 则不是...
研究了半天 不知其所以然...