Javascript 如何访问;“对象窗口”;
我觉得用这种粗俗的方式问这个问题很愚蠢,但在Firebug中,我看到了我当前的对象(这个)和下面的一行,“对象窗口”,全局名称空间似乎存在于其中(例如,有一个Javascript 如何访问;“对象窗口”;,javascript,Javascript,我觉得用这种粗俗的方式问这个问题很愚蠢,但在Firebug中,我看到了我当前的对象(这个)和下面的一行,“对象窗口”,全局名称空间似乎存在于其中(例如,有一个$对象,jQuery对象…)。我创建了一个名为“g”的对象,其中包含一个名为“Update”的函数,该函数位于这个全局名称空间中(同样,松散地使用该术语) 我在这里使用的术语正确吗?jQuery对象是否位于“全局命名空间”中?此外,如果我想调用住在这里的东西,我是否只需要调用,比如说,g.Update()?在OO术语中,这些变量等同于所谓的
$
对象,jQuery
对象…)。我创建了一个名为“g”的对象,其中包含一个名为“Update”的函数,该函数位于这个全局名称空间中(同样,松散地使用该术语)
我在这里使用的术语正确吗?jQuery对象是否位于“全局命名空间”中?此外,如果我想调用住在这里的东西,我是否只需要调用,比如说,g.Update()
?在OO术语中,这些变量等同于所谓的静态变量,这样说对吗
谢谢 你使用了正确的术语,当有人提到“全局范围”时,他们的意思是窗口
…它是最顶级的范围
对于jQuery:是,全局名称空间中的jQuery行,window.jQuery
或别名窗口。$
调用某个对象的方式取决于您的结构,但是如果您有一个可访问的对象
g
(全局或非全局)和一个方法Update
,无论g
在哪里可以访问g.Update()
都可以工作。如果我正确理解这个问题,默认的最后一个作用域是“窗口”,因此,如果您没有在范围中的任何其他地方声明“g”,那么它最后会在“window”中查找
工作示例
g = { Update: function() {} };
function foo()
{
g.Update();
}
不起作用示例:
g = { Update: function() {} };
function foo(g)
{
g.Update();
}
“this”是指用于调用函数的对象,默认情况下,它是“window” 这意味着您所调用的任何“静态”变量都是
窗口
对象的所有成员。执行g.Update()
相当于执行window.g.Update(
)或this.g.Update()
(最后一个操作仅当这行代码不在函数或另一个对象中时有效)。简单,在浏览器窗口中对象实现ECMAScript全局
对象。因此,全局项是窗口的属性,例如javascript:alert(window.parseInt)