2011-08-16 13 views

回答

14

功能在javascript對象。所以,你可以有你的主要功能

var $ = function() { alert('wat'); } 

,然後擴展它

$.fadeTo = function() { alert('fadeto'); } 
+0

mhm,我明白了...... Javascript類沒有靜態/動態方法的概念嗎? – SBSTP

+1

@SBSTP:JavaScript根本沒有類,它是一種原型語言,而不是基於類的語言。它具有構造函數。構造函數創建對象。 –

+0

@TJ - 你說得對,更新了 – wesbos

9

因爲在JavaScript中,函數是可以具有屬性的對象:

function test() { ... } 

test.a = function() { ... }; 
test.a(); // totally valid 
+0

啊,我沒有意識到這一點。問題:在你的例子中,'test.a'可以在最初的'function test(){...}'聲明中定義,或者必須'test.a'單獨聲明以便可以在'test )'?換句話說,是否可以在'test(){...}'聲明中定義'a'屬性,使得它仍然可以從'test()'之外訪問?我似乎無法在其他地方找到答案。 – Brandon

2

我覺得什麼樣的概念究竟是jQuery的在代碼的概念來頗爲混亂。我碰到了這個鏈接,它以一種非常簡單易懂的方式解釋了jQuery體系結構:http://blog.mikecouturier.com/2010/02/beginning-with-jquery-solid-foundation_22.html

因此,簡而言之,$是一個名爲'jQuery'的JavaScript函數的別名,並且使用點符號像$ .trim()是'JavaScript'jQuery'函數的靜態方法。請注意,函數是從JavaScript中的對象繼承而來的,所以函數是JavaScript中的一個對象。

相關問題