2009-08-07 54 views
61

我目前負責爲我們公司內的Web開發人員社區推出jQuery的使用。其中一部分涉及展示課程,然而另一部分涉及標準和最佳實踐。jQuery標準和最佳實踐

如果您使用Google的「jQuery最佳做法」,您可能會在搜索結果中找到以下內容。 http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/ http://www.artzstudio.com/2009/04/jquery-performance-rules/

這些是有幫助的,我已經一閃他們很多有用的信息。然而,我真正感興趣的是有關經驗豐富的jQuery開發人員以及那些可能已經發現自己處於類似位置的最佳實踐的任何提示,陷阱,意見等。任何良好的聯繫也將不勝感激。

編輯:

添加一個jQuery自己的網頁上的編碼標準部分:

http://www.jameswiseman.com/blog/?p=48

回答

42

您可以StackOverflow.com

jQuery pitfalls to avoid

非常有趣有用的提示一前一後在這裏找到這個熱門話題。

這裏有更多一些,我發現在我的書籤:

+2

有趣的鏈接,謝謝。我意識到這個話題非常相似,但是我仍然對從類似於自己角度的人的角度對這些反應感興趣。此外,標題不適合在搜索時使用有用的鏈接,但隨着時間的推移可能會彈出(並引用其他主題,現在您已將它添加進去!) – 2009-08-07 16:22:52

+1

btw,我剛剛找到一個有趣的鏈接(a jQuery實驗操場)commadot.com/jquery如果你去鏈接後鏈接,你可以學到很多... – adardesign 2009-12-21 17:15:32

+0

多一個鏈接http://lab.abhinayrathore.com/jquery-standards/ – FDisk 2016-02-01 15:07:46

2

是jQuery的工作方式是不是JavaScript的工作方式相同,即使它們是一個也是一樣的。 jQuery在CSS選擇器上工作,就像類名和元素ID一樣。要在jQuery中選擇一個項目,請執行以下操作:

$("#yourID") or $(".yourClass") or $("div") or $("#yourID p") etc 

然後您將獲得頁面上符合條件的所有元素的集合。然後,您可以對所有這些元素執行操作,而無需任何循環。這一點很重要:

$(".yourClass").click(function(){ 
    //do stuff 
}); 

將影響所有與.yourClass附加到他們的項目。一個提示:如果你要訪問$(this),你應該把它保存爲一個局部變量:

$(".yourClass").click(function(){ 
    var $this = $(this); 
}); 

,因爲它會加快您的功能。

+17

-1。我不喜歡這種說法「jQuery的工作方式與JavaScript的工作方式不一樣」。 jQuery是JavaScript。我將其稱爲'DOM操作的vanilla JS代碼與DOM操作的jQuery JS代碼之間存在區別。「 – SolutionYogi 2009-08-07 17:00:38

+3

....除了它是真的。我提到他們是一樣的,但jQuery抽象了很多你需要做的w/javascript的廢話。所以雖然可以在w/jQ中混合使用js,但它們的工作方式並不一樣,並且很多JS開發人員都會像編寫JS代碼一樣編寫JQ代碼。 – Jason 2009-08-07 17:16:13

+6

我完全理解jQuery和JavaScript的工作原理。我反對這句話是如何表達的,恕我直言,它不正確。 – SolutionYogi 2009-08-07 17:23:46

27

東西我親自開始做的是排序的Apps Hungarian Notation爲jQuery的設置,由前綴這些變量與$

var someInt = 1; 
var $someQueryCollection = $('selector'); 

我發現,當我的jQuery的片段增長,這將成爲非常寶貴的,不僅在推廣存儲jQuery的設置作爲變量的,而是幫助我跟蹤哪些變量實際上是 jQuery集合。

12

非侵入式JavaScript(標記和行爲的分離)

早在天,是很普遍的把你單擊處理標記內。現在建議您不要在標記中寫入JS代碼,而是通過DOM事件包含它。

漸進增強

用戶得到更好的體驗,如果他們使用符合標準的瀏覽器和/或具有啓用JavaScript。網站/ Web應用程序仍然可以訪問,即使它們具有較舊的瀏覽器或禁用了JS。

特徵檢測,而不是瀏覽器檢測

保持上述幾點之外,我真的專注於輸送消息(打破先入爲主的概念)JavaScript是一種玩具語言。我看到太多的開發人員認爲這種方式,一切都從那裏走下坡路。你需要向他們解釋JavaScript是一種非常強大的語言,爲什麼他們需要一個JS庫(因爲瀏覽器不一致),儘管JS本身非常強大。

祝你好運。

+1

賈森,對不起,但你能指出我在哪裏寫jQuery的工作方式不同於JavaScript?事實上,我在答案中甚至沒有提到jQuery。 – SolutionYogi 2009-08-07 18:54:13

+0

你真的認爲「JavaScript是一種玩具語言」,或者是一個錯字? – 2013-03-31 04:18:42