回答
最有可能的優點是,
,它使你的代碼簡短易manage.It提供更好的性能(速度)。 鏈條從左到右。所以最左邊的將被稱爲第一個等等。
當使用鏈接時,JQuery必須找到一次元素,它會逐個執行所有連接的函數。
鏈接的缺點可能會使用它不必要的太多,然後它可能會導致性能下降。
如: - 代碼1:
$(document).ready(function(){
$('#myContent').addClass('hello');
$('#myContent').css('color', 'blue');
$('#myContent').fadeOut('fast');
});
代碼2:
$(document).ready(function(){
$('#myContent').addClass('hello')
.css('color', 'blue')
.fadeOut('fast');
});
這兩種代碼做同樣的事情。而代碼2使用鏈接,代碼更快更短。在代碼1中,JQuery必須搜索整個DOM來查找元素,然後在其上執行該函數。
我意識到你在做什麼,但在第一個例子中說jQuery「必須搜索整個DOM」有點誤導......內部jQuery將在此調用getElementById()情況,這是一個非常快速的操作,雖然它仍然有點像數組查找,所以第二個例子的速度非常快。這會對類選擇器和其他更復雜的選擇器產生更多的不同,特別是在較舊的瀏覽器中。 – 2013-03-06 07:40:48
優點:
- 選擇器僅針對多個操作計算一次。更好的性能,更小的代碼。
- 選擇器結果可用於多種方法,無需將其分配給局部變量。更緊湊的代碼。
- 多種方法可以更緊湊地放在一條線上。
- 當您想要對連續不同的結果進行操作時(例如
$(this).next().find("span.title").closest(".section").hide();
),可以更加緊湊。如果沒有鏈接,你需要四個不同的局部變量,而這些變量都不需要。鏈接的
缺點:
- 的選擇結果尚未保存在一個局部變量的更復雜的應用不僅可以用鏈接來完成。
- 在一行上編寫太多連續的鏈接方法會延長代碼的可讀性,如果它延長以生成非常長的代碼行。 (人們仍然可以使用鏈接,但只需在鏈接中插入偶然的換行符就可以避免這種情況)。
謝謝你的回覆jfriend – 2013-03-06 07:35:13
是的,與將jQuery對象存儲在變量中相比,速度可能更快,但速度更快。
例如這樣的:
var elements = $('.myClass').find('p');
elements.next()
應該是一樣快,這一點:
$('.myClass').find('p').next()
大部分可以歸結爲可讀性的時候......有時方法鏈接使得代碼更易讀,但如果你帶走,它可以使少於可讀。
感謝您的回覆Matt B. – 2013-03-06 07:34:50
- 1. 在JavaScript中匿名方法的優點和缺點是什麼?
- 2. JQuery和Glow JavaScript庫的優點和缺點是什麼?
- 3. 讓Google爲我主持jQuery的優點和缺點是什麼?
- 4. 鏈接列表的缺點是什麼?
- 5. ASP.NET回傳x jQuery:什麼是缺點和優點?
- 6. has_many和has_one,有什麼優點/缺點?
- 7. Java靜態方法優點和缺點
- 8. 可鏈式方法的優點和缺點?
- 9. IDE中實時協作的優點和缺點是什麼?
- 10. 將ActiveRecord方法放入模塊的優點和缺點是什麼?
- 11. wxPython的AGW AUI的優點和缺點是什麼?
- 12. 64位/ 32位的低級優點和缺點是什麼?
- 13. 使用「部分索引」的優點和缺點是什麼?
- 14. 什麼是使用大型CSS文件的優點和缺點?
- 15. Link-Time Code Generation的優點和缺點是什麼? (VS 2005)
- 16. 有多重遺傳的優點和缺點是什麼?
- 17. Cocoa框架,庫和包的優點/缺點是什麼?
- 18. 三重數據庫的優點和缺點是什麼?
- 19. GPGPU(通用GPU)開發的優點和缺點是什麼?
- 20. 使用Protocol vs Inheritance的優點和缺點是什麼?
- 21. 在windows上運行php的優點和缺點是什麼
- 22. 咖喱函數的優點和缺點是什麼
- 23. 使用XML模式的優點和缺點是什麼?
- 24. 使用Global.asax的優點和缺點是什麼?
- 25. 使用OpenID的優點和缺點是什麼?
- 26. Static class vs. Singelton - 每個人的優點和缺點是什麼?
- 27. Liftweb Comet的優點和缺點是什麼?
- 28. RECFM = FB優於RECFM = F的優點/缺點是什麼?
- 29. xUnit或NUnit?對方有什麼優點和缺點?
- 30. 使用jQuery進行ajax調用的優點和缺點是什麼?
爲了使這個更具體的問題:鏈接*而不是什麼?* – deceze 2013-03-06 06:23:54
我說在第二行,對重新宣佈選擇。 – 2013-03-06 07:12:48
'i = $('foo'); i.bar(); i.baz();'?你認爲這個鏈接?因爲這只是鏈接操作的長處。 – deceze 2013-03-06 07:25:24