色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

jQuery的不足之處

使用Jquery有一段時(shí)間了,對(duì)Jquery輕便、易學(xué)易用、方便的DOM操作以及這個(gè)框架的設(shè)計(jì)思想都由衷的贊嘆。但是Jquery在設(shè)計(jì)過程中也有一些不合理的地方(當(dāng)然,有些東西見仁見智,可能你并不覺得這不合理),今天看到了一篇文章,覺得寫的挺有道理的,我做了一下整理。并不是說Jquery很差,讓大家不要用,而是通過這些內(nèi)容來更好的了解和使用jQuery。

1.each工具的回調(diào)函數(shù)參數(shù)的設(shè)計(jì)。

jQuery.each(obj,callback)

通用遍歷方法,可用于遍歷對(duì)象和數(shù)組。
不同于遍歷 jQuery 對(duì)象的 $().each() 方法,此方法可用于遍歷任何對(duì)象。回調(diào)函數(shù)擁有兩個(gè)參數(shù):第一個(gè)為對(duì)象的成員或數(shù)組的索引,第二個(gè)為對(duì)應(yīng)變量或內(nèi)容。 如果需要退出 each 循環(huán)可使回調(diào)函數(shù)返回 false,其它返回值將被忽略。
很明顯,這個(gè)參數(shù)的設(shè)計(jì)不合理。應(yīng)該將參數(shù)的順序?qū)φ{(diào)。原因很簡(jiǎn)單,通常做遍歷的時(shí)候,我們只需要獲取當(dāng)前對(duì)應(yīng)的變量或內(nèi)容就可以了,大多數(shù)情況下是不需要索引的。如果索引參數(shù)在后面,在不使用的情況下就可以省略。也許你覺得我在雞蛋里面挑骨頭,你看看jQuery的另外一個(gè)工具的設(shè)計(jì)就清楚了:

jQuery.grep(array,callback,[invert])
這個(gè)工具是對(duì)對(duì)象和數(shù)組做遍歷用的,但是這個(gè)工具的callback函數(shù)的兩個(gè)參數(shù)中第一個(gè)為對(duì)應(yīng)變量或內(nèi)容,第二個(gè)為對(duì)象的成員或數(shù)組的索引。正好與jQuery.each相反。

2.this指針的變換

在jQuery中this指針的變換是非常頻繁的,可能稍不留神,就會(huì)出錯(cuò)。特別是在OO編程的時(shí)候。例如:

function Dog(){
        this.name="旺財(cái)";
}

Dog.prototype.eat=function(){
        $("div").click(function(){
                  alert(this.name+"在啃骨頭");
         });
};

你會(huì)發(fā)現(xiàn)這段代碼并不會(huì)像你想象的那樣執(zhí)行,因?yàn)閠his指針已經(jīng)變換,指代的是當(dāng)前的div對(duì)象,而不是Dog的實(shí)例。

3.jquery.inArray(value,array)工具的設(shè)計(jì)

就字面意思來說,這個(gè)函數(shù)應(yīng)該返回true or false,事實(shí)上返回的是value在array第一次出現(xiàn)的位置。若不存在,返回-1。若你當(dāng)作true或false來處理,就郁悶了,-1是true。

4.對(duì)OO的支持不夠

jquery的DOM操作的支持很好很強(qiáng)大,但在OO方面卻沒有做任何工作。而且,就jQuery的編碼風(fēng)格也和OO有點(diǎn)格格不入。而其他框架如prototype,MooTools都有比較好的支持。

it知識(shí)庫(kù)jQuery的不足之處,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 安阳市| 宁安市| 万荣县| 宝应县| 大港区| 阜康市| 宁乡县| 新丰县| 秦安县| 城固县| 勃利县| 德阳市| 勐海县| 武夷山市| 金秀| 弥勒县| 托克托县| 北安市| 同江市| 古浪县| 绥芬河市| 馆陶县| 镇宁| 台中县| 化隆| 邳州市| 景东| 体育| 敦煌市| 体育| 织金县| 华宁县| 漯河市| 阿拉善左旗| 晋州市| 波密县| 济源市| 清水县| 阳高县| 日照市| 惠安县|