天天看點

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

在開始重構之前,需要先學習一下$.extend()方法,之前雖然見過它,但并不了解它,為了加深彼此的了解,是以先對它進行初步的學習,并在以後的項目中,經常的去使用它,達到彼此熟悉。

extend的意思就是擴充,$.extend()就是jquery的擴充方法。

$.extend()方法原型

含義:将src1,src2,src3...合并到dest中,傳回值為合并後的des,由此可以看出該方法合并後,是修改了des的結構的。如果想要得到合并的結果卻又不想修改dest的結構,可以如下使用:

這樣就可以将src1,src2,src3...進行合并,然後将合并結果傳回給newsrc了。如下例:

結果:

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

也就是說後面的參數如果和前面的參數存在相同的名稱,那麼後面的會覆寫前面的參數值,如果為後面的對象添加一個age屬性并設定為11,則結果如下:

結果

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

省略dest參數

上述的extend方法原型中的dest參數是可以省略的,如果省略了,則該方法就隻能有一個src參數,而且是将該src合并到調用extend方法的對象中去,如:

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

就是将hello方法合并到jquery的全局對象中。

$.fn.extend(src)

 該方法将src合并到jquery的執行個體對象中去,如:

單擊按鈕,調用擴充方法hello。

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

頁面加載,調用按鈕jquery對象執行個體的hello方法。

幾個例子

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

結果為彈出“net.hello”

jquery.extend()另外一個原型

 第一個參數boolean代表是否進行深度拷貝,其餘參數和前面介紹的一緻,什麼叫深層拷貝,我們看一個例子:

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

我們可以看出src1中嵌套子對象location:{city:"boston"},src2中也嵌套子對象location:{state:"ma"},第一個深度拷貝參數為true,那麼合并後的結果就是: 

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

也就是說它會将src中的嵌套子對象也進行合并,而如果第一個參數boolean為false,我們看看合并的結果是什麼,如下:

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

學習了上面的extend方法,那麼下面就對上篇文章中的圖檔走馬展示的js進行重寫。

代碼如下:

[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構
[JQuery]用InsertAfter實作圖檔走馬燈展示效果2——js代碼重構

每天逛部落格園已經是一種習慣,的确收獲不少,看到了然後就動手實踐,也就有了這篇js重構的文章,雖然看起來仍有點亂,但是通過這次重構,讓我對jquery的擴充方法的用法有了一個深入的學習。但如果将這個功能插件化,還得進一步深入學習,然後再次重構,通過這次重構,收獲還是有的,我會在以後的項目中更多的采用面向對象的方式去寫js或者jquery,也會将extend方法使用起來。

部落格位址:

<a href="http://www.cnblogs.com/wolf-sun">http://www.cnblogs.com/wolf-sun/</a>

部落格版權:

本文以學習、研究和分享為主,歡迎轉載,但必須在文章頁面明顯位置給出原文連接配接。

如果文中有不妥或者錯誤的地方還望高手的你指出,以免誤人子弟。如果覺得本文對你有所幫助不如【推薦】一下!如果你有更好的建議,不如留言一起讨論,共同進步!

再次感謝您耐心的讀完本篇文章。

轉載:http://www.cnblogs.com/wolf-sun/p/4052480.html

繼續閱讀