寫作不易,轉(zhuǎn)載請(qǐng)注明出處,謝謝。
文章類別:Javascript基礎(chǔ)(面向初學(xué)者)
前言
在之前的章節(jié)中,我們已經(jīng)不依賴jQuery,單純地用JavaScript封裝了很多方法,這個(gè)時(shí)候,你一定會(huì)想,這些經(jīng)常使用的方法能不能單獨(dú)整理成一個(gè)js文件呢?
當(dāng)然可以,封裝本來就是干這個(gè)用的。放在一個(gè)單獨(dú)js文件里固然不錯(cuò),其實(shí)我們也可以單獨(dú)整一個(gè)js類庫(kù),一方面可以鍛煉一下自己封裝方法的能力,另一方面,也可以將自己學(xué)到的東西做一個(gè)整理。
出于這個(gè)目的,本文將介紹如何封裝一個(gè)簡(jiǎn)單的js類庫(kù)。(當(dāng)然,只是開一個(gè)頭,熟悉一下js基礎(chǔ)而已。實(shí)際使用的話我感覺完全沒有必要,因?yàn)閖Query已經(jīng)很強(qiáng)大了,直接使用第三方的就可以)
1. 總體設(shè)計(jì)
所謂的js庫(kù),其實(shí)也就是一個(gè)js文件,我思前想后,決定取個(gè)名字叫“miniQuery”,是不是山寨的味道十足呢?哈,請(qǐng)不要在意這些小細(xì)節(jié)。
大概的設(shè)計(jì)如下:
-
擴(kuò)展方法的兼容(主要寫一些兼容的擴(kuò)展方法,比如 forEach 方法等)
-
工具包定義 (就是之前封裝的utils.js,我們的miniQuery需要依賴這個(gè)工具包,為了方便,就干脆寫在一個(gè)文件里面了。)
-
miniQuery定義
2. 擴(kuò)展方法的兼容
// ------------------------ 基本擴(kuò)展, 字符串,數(shù)組等---------------------------------// function extend_base (){ if(!String.prototype.format ){ String.prototype.format = function() { var e = arguments; return this.replace(