在整个web上,我看到大量的JavaScript程序员编写window.location
,而不仅仅是location
。我很好奇是否有人能给出一个解释。window
是全局对象,因此没有必要包含它--不是吗?我的意思是,你不会看到人们编写window.Math.floor
或new window.Date()
,所以我很好奇为什么要用location
来指定它。
我知道location
被认为是你所在窗口的一个“属性”,我想这是有道理的。但即便如此,我也看不出有任何理由需要指定全局对象;在不重定向页面的情况下,首先不可能重写location
。
那么,这只是一种已经使用了很长时间的怪癖,以至于它已经与我们编写JavaScript的方式集成在一起了,还是有一些明确的理由这样做呢?我查了谷歌,但是,我什么也没找到...
发布于 2011-01-17 08:26:47
编码的一部分是清晰度。与Math或Date不同,location在概念上是窗口的一个属性,因此代码会更清楚地包含它。“窗子”理想情况下,应删除前缀以进行缩写。
你可能是对的,很多原因都是历史的。Javascript在复制和粘贴方面有着广泛的历史。
发布于 2011-01-17 08:27:15
window
对象是默认的工作命名空间,因此location
将等于window.location
。
我认为使用location
有点模棱两可,为了清晰起见,请使用window.location
。
发布于 2011-01-17 08:23:51
这只是一个风格问题。
从概念上讲,与Math
或Date
不同,location
是window
的属性(窗口位于某个位置)。
https://stackoverflow.com/questions/4709037
复制相似问题