簡體   English   中英

什么是jQuery的限制?

[英]What are jQuery's limitations?

Joel總是說在使用第三方庫時要小心。 從我最初的印象來看,jQuery很棒。 使用它時我應該注意什么? 有什么限制? 當我更多地使用它時,我會遇到什么令人頭痛的問題?

我已經廣泛使用它,我必須承認,我還沒有遇到任何嚴重的磚牆! 我遇到了一些錯誤,我必須為自己找到一個快速解決方案,然后使用下一個jQuery版本進行額外的測試,以確保錯誤已得到妥善處理,但這適用於任何第三方庫而不僅僅是jQuery。

我認為這是一個非常棒的圖書館,我必須說,雖然有關第三方圖書館的建議有其優點,但是在這個Web 2.0世界中,Javascript的使用量已經飆升,並且瀏覽器之間存在很多差異,擁有一個維護良好的庫可以真正加快開發速度,因為它可以節省您自己完成所有腿部工作的開銷。

我想如果我要發出一個警告,那就是確保你不要過度使用它 - 雖然它真的通過抽象掉你不需要擔心的大量邏輯來加速Javascript開發,總是存在風險你會開始編寫效率低下的應用程序,因為你沒有意識到你在瀏覽器上的確切要求。 因此,我建議你使用Firebug等方法進行大量分析,以檢查引擎蓋下的情況。

@ mjc

$("a tip")
.you()
.can()
.chain()
.stuff()
.like()
.this();

和/或定義一個變量,為其使用jQuery函數:

var $tip = $("a tip");
$tip.choo();
$tip.choo();
$tip.train();

我在jQuery中遇到的一件事是,你最終將很多項目鏈接在一起,如果你不小心,它很快就會變得難以理解。

我能想到的一個例子說明這是在John David Anderson的博客上

有一個人寫了一個記錄功能,你可以弄清楚你在哪里.whenYoureCoding()。inThe(middleOf).a(jQuery).trainWreck()。

我可以看到將各種東西鏈接在一起的力量,但我猜你可能已經走得太遠,如果你需要在搖擺中將東西記錄到控制台上。 從現在開始一周,你幾乎沒有機會讀它。

jQuery很棒 - 它可以做任何javascript可以做的事情,但更快,並且代碼更少。 它唯一的局限是javascript中作為客戶端腳本語言固有的限制。 像任何工具一樣,它可能會錯過,但除非您的腳本需求非常基本,否則幾乎沒有理由不使用它。

我在博客中看到了以下內容。 它不是jQuery中的限制,但使用jQuery時使用ASP.NET開發人員時常犯錯誤:

http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/

@ BrilliantWinter

jQuery並不臃腫。 它是那里最小的圖書館之一。

它的所有功能都是jQuery對象的擴展,這意味着你可以分離你不使用的任何功能,並使庫的占用空間甚至小於它的默認大小(15kb,Minified和Gzipped)。

jQuery - 以及其他所有庫 - 提供了一個API,它在所有A級瀏覽器中都是相同的。 這種抽象使您的代碼更清晰,更不容易出錯。

最后,jQuery被主要的“玩家”使用。 Google,Dell,Digg和NBC等公司都使用該庫。 這不僅是一個很大的批准,而且還保證jQuery的開發人員在修改庫時非常小心,確保沒有任何中斷並且沒有引入錯誤。

@BrilliantWater - 大多數人不使用jQuery“學習”,他們使用它是因為它更快更容易使用,並且比自己創建所有方法引起的麻煩更少。 整個“臃腫”的論點完全沒有實際意義; jQuery是最小的庫之一,隨着越來越多的人獲得寬帶,它變得越來越少。

另外,由於jQuery是由GoogleCode托管的,因此很可能它已經存在於用戶緩存中,因為很多網站都使用它!

jQuery太棒了! 我一直對自己說,我需要學習另一個圖書館,但我真的沒有。 jQuery擁有我需要的一切。 我知道它並不適合所有項目,但它肯定在大多數項目中占有一席之地!

我發現jQuery在編寫任何有用的javascript時都是不可或缺的。 也就是說,我正在研究的一個網站想做動畫。 我建議不要使用flash,而是執行相對“簡單”的動畫,jQuery與jQuery打包得很好。 我們使用了淡入淡出和幻燈片等。 最后,瀏覽器處理得太多了(特別是IE,但是FF顯示出壓力的跡象),我們不得不將其幾乎全部擴展回來。

jQuery很有趣,可以用來編寫代碼並進行實驗。 它有一個出色的開發人員社區,可以很快地提出問題。 小心不要太過分了! :)

jQuery的唯一缺點是它太簡單易用。 你得到一個非常低的新手使用它並做一些非常奇怪和接近遲鈍的事情。 除此之外,jQuery非常漂亮,由天才和他的聰明程序員組成,可確保跨瀏覽器質量,減少開發人員的工作量。 不能出錯。 如果你不喜歡jQuery,你有點偏離,可能不經常洗澡。

UPDATE

這是我的一個非常古老的答案。 如果使用querySelector和MDN引用,jQuery實際上已經不再需要了,因為瀏覽器已經融合到大多數情況下是相同的,除非你當然仍然生活在IE8的死亡土地要求中。 jQuery也存在於全球范圍內,如果你正在構建現代JavaScript,那就很糟糕。 除了讓一些舊的學校插件不使用模塊化語法庫之外,jQuery在這一點上並不是真正有用。

開始關注模塊化JavaScript,因為這是jQuery之后的趨勢。 注意es6 / es2015。 開始使用React / React Native OR Angular 2來制作應用程序,因為它在某種程度上達到了目標。

對不起,John Resig。 在這一點上,人們就像“約翰是誰?” 即使他在我的書中仍然是天才。 我希望他能獲得自己的成就,並做出更好的成績。

事情變化有趣。

如果jQuery不適合,你總是可以考慮不同的框架。 這是一個mootools的例子。

MooTools是一個緊湊的,模塊化的,面向對象的JavaScript框架,專為中高級JavaScript開發人員而設計。 它允許您使用其優雅,文檔齊全且連貫的API編寫功能強大,靈活且跨瀏覽器的代碼。

我是jQuery的忠實粉絲(我已經為它編寫了一個插件和一個Dashboard小部件證明了這一點)。

需要注意的一件事是jQuery支持哪些瀏覽器 文檔網站目前似乎有問題。 這是另一件需要注意的事情...... ;-)

我已經使用它大約6個月了,除了我的團隊中一些較慢的開發人員不接受它(可能是因為一些較長鏈的令人生畏的外觀)我沒有碰到一個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM