原始的js代碼和jquery對(duì)比體會(huì)
更新時(shí)間:2013年09月10日 16:08:51 作者:
在我們自己處理的時(shí)候,甚至是這么簡單的任務(wù)在不使用jquery的時(shí)候都會(huì)變得復(fù)雜,通過下面我們可以清晰的看到使用query代碼比原生js代碼寫起來更容易
Even a task as simple as this can be complicated without jQuery at our disposal. In plain JavaScript, we could add the highlightedclass as shown in the following code snippet:
window.onload = function() {
var divs = document.getElementsByTagName('div');
for (var i = 0; i < divs.length; i++) {
if (hasClass(divs[i], 'poem-stanza') && !hasClass(divs[i], 'highlight')) {
divs[i].className += ' highlight';
}
}
function hasClass( elem, cls ) {
var reClass = new RegExp(' ' + cls + ' ');
return reClass.test(' ' + elem.className + ' ');
}
};
在我們自己處理的時(shí)候,甚至是這么簡單的任務(wù)在不使用jquery的時(shí)候都會(huì)變得復(fù)雜。用原始的js,我們可以使用下面的代碼片段添加highlighted類:
Despite its length, this solution does not handle many of the situations that jQuery takes care of for us in Listing 1.2, such as the following:
• Properly respecting other window.onloadevent handlers
• Acting as soon as the DOM is ready
• Optimizing element retrieval and other tasks with modern DOM methods
盡管很長,但是這個(gè)解決方案依然沒有處理很多jquery在列表1.2中為我們做到的一些事情,比如下面的這些:
1、合適的處理其他的window.load事件
2、在DOM結(jié)構(gòu)準(zhǔn)備好的時(shí)候開始行動(dòng)。
3、使用現(xiàn)代的DOM方法優(yōu)化元素查找和其他任務(wù)。
We can see that our jQuery-driven code is easier to write, simpler to read, and faster to execute than its plain JavaScript equivalent.
我們可以清晰的看到我們的使用query的代碼比原生js代碼寫起來更容易,讀起來更簡單,運(yùn)行起來更快。
復(fù)制代碼 代碼如下:
window.onload = function() {
var divs = document.getElementsByTagName('div');
for (var i = 0; i < divs.length; i++) {
if (hasClass(divs[i], 'poem-stanza') && !hasClass(divs[i], 'highlight')) {
divs[i].className += ' highlight';
}
}
function hasClass( elem, cls ) {
var reClass = new RegExp(' ' + cls + ' ');
return reClass.test(' ' + elem.className + ' ');
}
};
在我們自己處理的時(shí)候,甚至是這么簡單的任務(wù)在不使用jquery的時(shí)候都會(huì)變得復(fù)雜。用原始的js,我們可以使用下面的代碼片段添加highlighted類:
Despite its length, this solution does not handle many of the situations that jQuery takes care of for us in Listing 1.2, such as the following:
• Properly respecting other window.onloadevent handlers
• Acting as soon as the DOM is ready
• Optimizing element retrieval and other tasks with modern DOM methods
盡管很長,但是這個(gè)解決方案依然沒有處理很多jquery在列表1.2中為我們做到的一些事情,比如下面的這些:
1、合適的處理其他的window.load事件
2、在DOM結(jié)構(gòu)準(zhǔn)備好的時(shí)候開始行動(dòng)。
3、使用現(xiàn)代的DOM方法優(yōu)化元素查找和其他任務(wù)。
We can see that our jQuery-driven code is easier to write, simpler to read, and faster to execute than its plain JavaScript equivalent.
我們可以清晰的看到我們的使用query的代碼比原生js代碼寫起來更容易,讀起來更簡單,運(yùn)行起來更快。
相關(guān)文章
實(shí)例講解JavaScript中的this指向錯(cuò)誤解決方法
JavaScript中this指向的處理是令大家普遍頭疼的問題,這里我們舉一個(gè)實(shí)例講解JavaScript中的this指向錯(cuò)誤解決方法,需要的朋友可以參考下2016-06-06
javascript創(chuàng)建對(duì)象的幾種模式介紹
下面小編就為大家?guī)硪黄猨avascript創(chuàng)建對(duì)象的幾種模式介紹。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-05-05
JavaScript For Beginners(轉(zhuǎn)載)
JavaScript For Beginners(轉(zhuǎn)載)...2007-01-01
Javascript Object 對(duì)象學(xué)習(xí)筆記
這篇文章主要介紹了Javascript Object 對(duì)象學(xué)習(xí)筆記,需要的朋友可以參考下2014-12-12
簡介JavaScript中的getUTCFullYear()方法的使用
這篇文章主要介紹了簡介JavaScript中的getUTCFullYear()方法的使用,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06
在firefox和Chrome下關(guān)閉瀏覽器窗口無效的解決方法
首先IE是可以通過window.close()來關(guān)閉瀏覽器窗口的,但是在firefox和Chrome下是無效的,但是可以通過一些特殊的手段進(jìn)行關(guān)閉2014-01-01
Javascript核心讀書有感之表達(dá)式和運(yùn)算符
這篇文章主要介紹了Javascript核心讀書有感之表達(dá)式和運(yùn)算符,十分詳細(xì),需要的朋友可以參考下2015-02-02

