最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jquery與prototype框架的詳細對比

 更新時間:2013年11月21日 09:55:06   作者:  
這篇文章主要是對jquery與prototype框架進行了詳細的對比介紹,需要的朋友可以過來參考下,希望對大家有所幫助

以前做界面是用jquery的,現在因為要用許多ajax效果,改用了rails自帶的prototype

因為jquery用多了,換個框架也大同小異,不過細節(jié)上有很多不同。。。

1.dom加載方面:

jquery有dom ready方法,推遲js函數的綁定知道dom樹完成(如果沒有這個功能,一些element的事件函數之類的綁定可能會出錯):

$(document).ready(function(){});

但是prototype是沒有的。。。得自己找非官方的擴展,不方便,這個基本的功能,這么重要的功能,不知道為啥遲遲不加到核心庫

2.path查找,dom定位方面

jquery的dom查找和css定位一致,用過就感覺非常方便,這是他的一大亮點和優(yōu)點

$('.func #select_all').click(function()
$(this).parent('div').parent('div').find('li .checkbox input:checkbox')

prototype只有查找單個dom對象方便--$(id)

比較麻煩的是把單個和數組分開了,如果找一個路徑下的許多對象

得$$('div .right_contact'),這種風格仍然是定位某一類型的對象

而不是用路徑查找,這方面不如jquery方便和概念一致

3.函數,事件綁定
舉個例子,把class為right_contact的div綁定click高亮事件,prototype寫法是:

復制代碼 代碼如下:

$$('div .right_contact').each(function(item){
item.observe('click', function(event){
new Effect.Highlight(item,{ duration: 2.0,startcolor: '#ffff99',endcolor: '#fffffff',restorecolor: '#fffffff' });
});
});

如果是jquery,簡潔很多:

$('.right_contact').click(function(){   
$(this).toggleClass('hilight');
})

我用過很多框架,印象最深刻的是一個叫hge game engine的框架,封裝了大量的底層細節(jié)和實現方法,然后他說:you could create everything from a simple puzzle to advanced multilayered platformer or strategy without even thinking of any non game logic code

優(yōu)秀的框架應該是讓人集中注意到業(yè)務邏輯上而不是技術特性,設計模式上這方面,jquery比prototype優(yōu)秀,最典型的例子就是如果要鼠標點擊觸發(fā)函數,prototype搞個大而全的observe方法,然后去注冊click事件
而jquery就有item.click函數。。。observe是能包容萬象,不過jquery這種為最常用的事件特地創(chuàng)建專有函數的做法,更能讓人集中注意力到業(yè)務邏輯上。。。

相關文章

最新評論

潞西市| 宝丰县| 天津市| 乌拉特中旗| 永兴县| 桐乡市| 凉山| 武强县| 满洲里市| 广东省| 城口县| 土默特右旗| 博白县| 尖扎县| 桐庐县| 大冶市| 神木县| 通渭县| 兴仁县| 萨迦县| 通化市| 民权县| 柞水县| 达日县| 比如县| 宝应县| 芜湖市| 涿鹿县| 高邑县| 万荣县| 塔城市| 新和县| 岐山县| 子长县| 通化县| 高陵县| 湘潭市| 托克托县| 斗六市| 双流县| 邢台县|