我在下面的這段代碼中掙扎。爲什麼他們在函數scrollDepth()之前使用前綴jQuery?當我刪除前綴時會發生什麼?爲什麼他們在函數名前使用前綴jQuery?
<script src="jquery.scrolldepth.min.js"></script>
<script>
jQuery(function() {
jQuery.scrollDepth();
});
</script>
我在下面的這段代碼中掙扎。爲什麼他們在函數scrollDepth()之前使用前綴jQuery?當我刪除前綴時會發生什麼?爲什麼他們在函數名前使用前綴jQuery?
<script src="jquery.scrolldepth.min.js"></script>
<script>
jQuery(function() {
jQuery.scrollDepth();
});
</script>
scrollDepth是jQuery對象上的一個函數,所以它必須在jQuery對象上調用。 (該功能是this plugin,增加了功能的jQuery
對象;它不是jQuery的本身的一部分。)
可能是評論? –
看起來像我們在我們中間的一個小人物 – jbutler483
Downvote不是我的,但詳細說明「jQuery函數」和「jQuery對象」是否會使這個答案更模糊。 –
在此行中:
jQuery.scrollDepth();
的jQuery
「前綴」,你叫它是具有scrollDepth
函數的對象的名稱。如果沒有引用該對象,引擎將不知道該在哪裏找到該函數。
並非所有函數都是全局函數(謝天謝地)。在面向對象的世界中,函數存在於特定的對象上。您需要引用該對象來調用其功能。
***問題:**是jQuery OO嗎?* –
@PraveenKumar:OO是一個大帳篷。 JavaScript是OO(核心),jQuery使用JavaScript的OO功能,所以從這個意義上說,jQuery是OO。 –
啊,@ T.J.Crowder謝謝你的澄清!所以jQuery是OO! ':D' –
您可能熟悉$
符號jQuery。這實際上是一個別名的jQuery
對象。所以,我們基本上有一個對象衛生組織的名字是jQuery
,它包含了我們在jQuery的
jQuery.each = function(){...}
jQuery.ajax = function(){...}
jQuery.makeArray = function(){...}
等
現在,scrolldepth是它擴展了的jQuery插件的所有API方法API類似於上面
jQuery.scrollDepth = function(){...}
的辦法,這就是爲什麼它被稱爲像jQuery.scrollDepth()
哇......很好的解釋! ':D' –
@PraveenKumar,謝謝!但說實話,即時解釋給自己比別人更多。他們說教學是最好的學習方式:) – AmmarCSE
不,不,這是完全錯誤的。如果'scrollDepth()'是jQuery原型('jQuery.fn')的成員,那麼它必須在jQuery對象上調用(例如'jQuery(「something」)。scrollDepth()'),而不是直接'jQuery'本身。 –
*當我刪除前綴時會發生什麼?*當你做了什麼? –
@PraveenKumar jQuery是一個JavaScript庫。這不是一個功能。 – ElGavilan
@ElGavilan:這都是。這也是變量的名稱,該變量持有對庫主對象的引用。這是一種超負荷的詞,現在我想到了。 – David