Javascript 为什么$.extend(window、window、someobject)会触发页面刷新?
我有这样的目标:Javascript 为什么$.extend(window、window、someobject)会触发页面刷新?,javascript,jquery,Javascript,Jquery,我有这样的目标: var example = { test1: 10, test2: 20, test3: 30 } 出于某种原因,我想使用test#变量而不使用example,因此我扩展了window对象,如下所示(使用jQuery): 但是,每当调用此函数时,页面都会刷新 还有一个问题,如果我尝试以同样的方式扩展文档,就会出现如下错误:(在Chrome中) 错误:名称空间错误:DOM异常14 为什么呢?有没有办法使用没有对象(名称空间)名称的变量?您的$。exten
var example = {
test1: 10,
test2: 20,
test3: 30
}
出于某种原因,我想使用test#
变量而不使用example
,因此我扩展了window
对象,如下所示(使用jQuery):
但是,每当调用此函数时,页面都会刷新
还有一个问题,如果我尝试以同样的方式扩展文档
,就会出现如下错误:(在Chrome中)
错误:名称空间错误:DOM异常14
为什么呢?有没有办法使用没有对象(名称空间)名称的变量?您的
$。extend
调用执行以下等效操作:
window.location = window.location;
这将刷新页面
该函数实质上是将第二个参数到最后一个参数的所有属性(使用简单赋值)复制到第一个参数,并返回(更新的)第一个参数。在第二个参数中,window
,将有location
属性,当您为window.location
分配内容时,您将更改页面,如果新的位置值和旧的位置值相同,您将刷新当前页面
如果要将示例
中的所有属性添加到窗口
,只需执行以下操作:
$.extend(window, example);
至于“有没有办法使用没有对象(名称空间)名称的变量?”这句话,只需将变量添加为窗口的属性,就可以访问它们,而无需前缀:
window.where_is = "pancakes house?";
alert(where_is);
例如:为什么要传递窗口两次?如果您只执行$.extend(窗口,示例)
,它是否有效?这是一个很好的答案。我忘记使用$.extend(窗口,示例)
。不管怎样,我得到了一些新信息。非常感谢。
window.where_is = "pancakes house?";
alert(where_is);