簡體   English   中英

如何在“對象窗口”中訪問javascript函數

[英]How do I access javascript functions in the “object Window”

我覺得愚蠢地用粗暴的方式問這個問題,但是在Firebug中,我看到了我當前的對象(這個),然后是一行,然后是“對象窗口”,全局命名空間似乎存在(例如,有一個$ object, jQuery對象...)。 我創建了一個名為“g”的對象,其中包含一個名為“Update”的函數,該函數位於此全局命名空間中(同樣,松散地使用該術語)。

我在這里使用正確的術語嗎? jQuery對象是否存在於“全局名稱空間”中? 此外,如果我想打電話給住在這里的東西,我只需要打電話,比方說g.Update()嗎? 這些是否等同於你在OO術語中稱為靜態變量的說法是正確的嗎?

謝謝!

如果我正確理解了這個問題,默認的最后一個范圍是'window',所以如果你沒有在你的范圍內的任何其他地方聲明'g',那么它將查看的最后一個地方是'window'

工作實例

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

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

不起作用的示例:

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

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

有點使用正確的術語,當有人提到“全球范圍”時,它們意味着window ......這是最重要的范圍。

對於jQuery: 是的 ,jQuery行在全局命名空間, window.jQuery或別名window.$

你如何調用某些東西取決於你的結構,但是如果你有一個可訪問的對象g (全局或不具有)方法Update ,只要g可以訪問g.Update()就行了。

'this'指的是用於調用函數的對象,默認情況下是'window'。

這意味着您調用的所有“靜態”變量都是window對象的所有成員。 執行g.Update()等同於執行window.g.Update( )或this.g.update() (最后一個只在這行代碼不是函數或其他對象時才起作用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM