Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问;“对象窗口”;_Javascript - Fatal编程技术网

Javascript 如何访问;“对象窗口”;

Javascript 如何访问;“对象窗口”;,javascript,Javascript,我觉得用这种粗俗的方式问这个问题很愚蠢,但在Firebug中,我看到了我当前的对象(这个)和下面的一行,“对象窗口”,全局名称空间似乎存在于其中(例如,有一个$对象,jQuery对象…)。我创建了一个名为“g”的对象,其中包含一个名为“Update”的函数,该函数位于这个全局名称空间中(同样,松散地使用该术语) 我在这里使用的术语正确吗?jQuery对象是否位于“全局命名空间”中?此外,如果我想调用住在这里的东西,我是否只需要调用,比如说,g.Update()?在OO术语中,这些变量等同于所谓的

我觉得用这种粗俗的方式问这个问题很愚蠢,但在Firebug中,我看到了我当前的对象(这个)和下面的一行,“对象窗口”,全局名称空间似乎存在于其中(例如,有一个
$
对象,
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)