網(wǎng)站建設(shè)不使用jQuery框架
為什么我不喜歡使用框架——盡管它們?cè)谀承┣闆r下是有意義的
為什么我不喜歡使用框架——盡管它們?cè)谀承┣闆r下是有意義的
框架,如jQuery,是一些最流行的,最廣泛的助劑用于網(wǎng)站。該框架允許您訪問(wèn)和操作HTML元素的快速和容易的,以及他們通過(guò)CSS樣式。就我個(gè)人而言,我不喜歡這些框架,并試圖避免他們盡可能。這并不總是工作,但它可以在沒(méi)有任何問(wèn)題經(jīng)常。
jQuery和有限的大footstamp
特別是一些jQuery已經(jīng)成為全面的工具,在過(guò)去幾年的JavaScript。該框架提供了大量方法,元素,和事件,其中大部分不會(huì)被廣大用戶所使用。
雖然目前的壓縮版本的jQuery僅重約85 KB,大多數(shù)的框架將在我的項(xiàng)目中繼續(xù)使用。你可以叫我挑剔擔(dān)心這么多關(guān)于85字節(jié)。但作為一個(gè)Web開發(fā)人員,一個(gè)苗條的代碼,只有我真正需要的是對(duì)我很重要。
jQuery已經(jīng)成為Web開發(fā)的一些標(biāo)準(zhǔn)。因此,許多其他框架開發(fā)的jQuery插件。所以,如果我想使用他們,我會(huì)使用jQuery以及。在這里,這些框架的缺點(diǎn)變得明顯。
畢竟,我只需要使用jQuery插件。對(duì)我來(lái)說(shuō),85 KB太多的證明。
多余的:通常,JavaScript可以做jQuery
隨著HTML5的介紹,JavaScript作為一個(gè)龐大的飛躍以及。很多功能以前獨(dú)家jQuery可作為本地JavaScript方法以及。
例如,這適用于添加和移除JavaScript類。“列表”API允許你實(shí)現(xiàn)這個(gè)的一種方式,非常類似于jQuery。
在jQuery中最重要的功能之一是選擇訪問(wèn)任何所需的元素通過(guò)“$()”–以下CSS選擇器。現(xiàn)在,即使這種獨(dú)特的功能已經(jīng)實(shí)現(xiàn),在JavaScript的方法通過(guò)“queryselector()”。
文件queryselector(“OL”)。列表。添加(“新”);
在這個(gè)例子中,這類“新”分配給所有的“<li>”元素,是兒童的一個(gè)“<ol> >”元素。在jQuery,根據(jù)調(diào)用不短–但不復(fù)雜。
美元(“OL”)。addClass(“新”);
所以,在很多情況下,我甚至不需要jQuery,我可以使用JavaScript在同樣簡(jiǎn)單的方式工作。
性能和簡(jiǎn)單性
jQuery和不受歡迎的同事肯定在很多情況下簡(jiǎn)化JavaScript的工作。然而,最簡(jiǎn)單的方法不一定是最佳的–尤其是性能。
無(wú)論是jQuery方法“$()”,和JavaScript的方法”queryselector()”來(lái)的更糟比方法”getelementsbytagname()”或“getelementsbyid()”說(shuō)到性能。“$()”,和“queryselector()”,一個(gè)文檔的整個(gè)DOM樹中搜索元素分別擬合第一。
這兩種方法 ”getelementsbytagname()”或“getelementsbyid()”完成目標(biāo)速度明顯加快。當(dāng)然,后者的方法連接到開發(fā)者更多的努力。即使在這里,輕微的性能差異可以忽略不計(jì)。但你一定要知道它。
優(yōu)勢(shì):相干瀏覽器兼容性
當(dāng)然,我不想要像jQuery完全是多余的。畢竟,有一個(gè)原因,它仍然是非常成功和受歡迎。顯然,一個(gè)優(yōu)點(diǎn)是它的簡(jiǎn)單應(yīng)用。
此外,這些框架有一個(gè)廣泛的瀏覽器兼容的獨(dú)特優(yōu)勢(shì)。而本地方法總是要求我檢查它的瀏覽器支持的版本,jQuery讓事情很容易一點(diǎn)。
我知道它的瀏覽器和版本都支持每一個(gè)jQuery的版本。尤其是那些開發(fā)的舊版本的Internet Explorer將知道jQuery支持從9或更高版本。
那些想支持舊的瀏覽器就可以回到老版本的jQuery。這簡(jiǎn)化了網(wǎng)站的發(fā)展,你會(huì)知道哪些瀏覽器上提前。
對(duì)特定事物的框架
所以,我一個(gè)人的時(shí)候,放棄框架可能是有意義的。事實(shí)上,它幾乎總是可能的。一般來(lái)說(shuō),一切都可以用JavaScript編程實(shí)現(xiàn)。當(dāng)然,這并不總是這樣做的道理。
顯然,有情況下,開發(fā)一個(gè)復(fù)雜的JavaScript編碼,自己承擔(dān)結(jié)果沒(méi)有關(guān)系的努力。例如,你想用JavaScript創(chuàng)建3D動(dòng)畫,你可以建立一個(gè)自己的3D框架。
在這里,但是,它使更多的意義依賴于一個(gè)穩(wěn)定、輕型框架。在這種情況下,我保證框架不是基于其他框架如jQuery,讓它自由和獨(dú)立使用。
結(jié)論
你是否使用框架或不是意識(shí)形態(tài)問(wèn)題。在許多情況下,速度增益邊際。但是,作為開發(fā)商,我們不應(yīng)該為了方便jQuery和有限。
通常,一個(gè)本地JavaScript可以覆蓋jQuery所能做的一切。特別是在發(fā)展現(xiàn)代瀏覽器的一個(gè)有限的向后兼容的話,你會(huì)做得很好沒(méi)有這個(gè)框架。