簡體   English   中英

jQuery原型:心態遷移?

[英]Prototype to jQuery: Mindset migration?

這不是關於並行的技術比較,而是關於如何“用jQuery思考”與“用原型思考”。

幾年來,我已經大量使用Prototype,而直到大約一年前,當我開始大量使用jQuery時,jQuery的使用程度卻有所下降。

使用Prototype,我可以編寫一些相當優雅的代碼。 我的老板曾經審查過我的大量代碼,並說這是他有幸閱讀的第一個Javascript。 我幾乎從一開始就本能地理解Prototype的工作,並且知道如何使用它。

我的jQuery代碼還有很多,我該如何寫成“ workmanlike”。 我覺得我在與jQuery的每一步都在戰斗。 我必須(試圖)強迫自己堅持下去,而不是使用“本機” JS,我知道在這里我可以更快地清除干凈的跨瀏覽器代碼。 更多地使用它會使更多,而不是更少,令人沮喪。

這不是(或至少不是全部)對可用功能的不熟悉。 我常常會知道我需要使用給定的函數,但是使用它的方式似乎確實很奇怪。 通常這表明我走錯了路。

我思考的越多,我就越想嘗試以原型方式使用jQuery。

必須有一些尚未發生的令人眼花blind亂的閃光。 尤其是如果您同時使用這兩種工具,那么您發現方法上最根本的區別是什么? 從一種切換到另一種時,您需要如何調整心態?

不要害怕指出令人眼花blind亂的明顯,因為它可能只是那令人眼花flash亂的閃光...

我經歷了這種轉變。 一遍又一遍告訴自己的主要事情是,jQuery首先是使DOM操作更容易且跨平台更安全。 jQuery中沒有“減少”(我認為原型被稱為“注入”)。 為什么? 因為維護人員認為這對於jQuery的主要任務並不重要。

因此,當您編寫代碼以完成自己的工作時,Prototype的基礎對象擴展進入您的編碼樣式的方式,好吧,在普通jQuery中幾乎不會發生這種情況。 (但是,請參閱可愛的Underscore.js庫,以一種以jQuery友好的方式獲取某些功能的方法。)

對我來說,這使弄清楚如何在jQuery上構建變得更加容易。 這是另一回事。 現在,jQuery是非常穩固的,它確實使DOM操作和HTML爭吵要好很多比你從普通的JavaScript得到什么。 (我認為Prototype的功能還不錯,但是jQuery非常關注該問題。)

我能給的最好的建議是“擁抱this ”。 在jQ中,您幾乎總是在談論對包裝在jQuery對象中的集合進行迭代。 調用集合的方法之一會對集合的所有元素(無論是1還是100)都執行該方法。該方法將始終返回集合的相同實例(除了獲得屬性的訪問器之外)。 在交互的上下文中, this是您要操作的集合中的項目的值-通常是原始DOM元素,但也可以是對象屬性或數組項目的值。

為什么您需要換個角度思考? 與其使您的樣式適應所出現的每種框架或語言,不如使該框架或語言本身適應您的喜好。 然后,您所要做的就是對這樣一個想法持開放態度,即可能存在比您已經知道的更好的編寫或構建代碼的方法,當這些方法出現時,進行客觀地分析,然后將其包含在存儲庫中。

選擇幾乎永遠不會全部或全部。 兩種框架都有出色的產品,您可以和諧地使用兩種技術來構建出色的應用程序。

暫無
暫無

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

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