[英]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.