如何在“对象窗口”中访问javascript函数

时间:2010-12-02 21:41:39

标签: javascript

我觉得愚蠢地用粗暴的方式问这个问题,但是在Firebug中,我看到了我当前的对象(这个),然后看到了一条线,然后是“对象窗口”,全局命名空间似乎存在(例如,有一个{ {1}}对象,$对象...)。我创建了一个名为“g”的对象,其中包含一个名为“Update”的函数,该函数位于此全局命名空间中(同样,松散地使用该术语)。

我在这里使用正确的术语吗? jQuery对象是否存在于“全局命名空间”中?此外,如果我想打电话给住在这里的东西,我只需要拨打电话,比如jQuery吗?说这些是否等同于你在OO术语中称为静态变量的说法是正确的吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题,默认的最后一个范围是'window',所以如果你没有在你的范围内的其他任何地方声明'g',它将会查看的最后一个地方是'window'

工作示例

g = { Update: function() {} };

function foo()
{
    g.Update();
}

不工作的例子:

g = { Update: function() {} };

function foo(g)
{
    g.Update();
}

答案 1 :(得分:0)

你是有点使用正确的术语,当有人提到“全球范围”时,他们的意思是window ......它是最顶级的范围。

对于jQuery: yes ,全局命名空间中的jQuery行,window.jQuery或别名window.$

如何调用某些内容取决于您的结构,但如果您有一个方法g的可访问对象Update(全局与否),g可以访问g.Update() {{1}}会工作的。

答案 2 :(得分:0)

'this'指的是用于调用函数的对象,默认情况下是'window'。

这意味着您调用的任何“静态”变量都是window对象的成员。执行g.Update()等同于执行window.g.Update()或this.g.update()(最后一个仅在此代码行不是函数或其他对象时才起作用。)