亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript避免代碼的重復執行經驗技巧分享

2019-11-20 20:49:03
字體:
來源:轉載
供稿:網友
我喜歡到一些大型網站上去翻閱它們的原代碼,期望能找到一些可以應用到自己的代碼中的模式,或發現一些之前從未聽說過的工具和技巧??墒?,在我查看這些大型網站的源代碼時,經常會發現一個問題,那就是重復的代碼執行,重復的功能應用。下面就是一些在查看它們的源代碼時發現一些問題,把這些分享給大家,希望能讓你們更加簡潔高效的寫出JavaScript代碼。
重復的收集元素

我在他們的JavaScript代碼里看到的最常見的問題是重復的收集元素。雖然jQuery選擇器引擎或querySelectorAll的執行速度都很快,但重復的工作就是會多占用時間和資源。這個問題很淺顯,解決的方法如下:
復制代碼 代碼如下:

//
$$(".items").addClass("hide");
// ... 后來又 ...
$$(".items").removeClass("hide");

//
var items = $$(".items");
// ... 從這里開始使用這個引用變量!

對那些寫出重復執行代碼的程序員的譴責我們天天都在做,但仍需要加強。當然,有些重復的動作是無法避免的(比如ajax加載頁面),可是,對于這些情況,我們最好是使用事件代理,而不是直接拉取內容。
重復的條件判斷

重復的條件計算很常見,但通常也是有一個通用的模式來避免它們。你可能會看到一段代碼寫成這樣:
復制代碼 代碼如下:

var performMiracle = function() {
// 如果瀏覽器支持A特征...
if(features.someFeature) {

}
// ... 如果不支持
else {

}
};

這是可行的,但不是最高效的代碼,上面的條件可能會多次計算。寫成下面的樣子會更好:
復制代碼 代碼如下:

var performMiracle = features.someFeature ? function() {
// Plan A stuff
} : function() {
// Plan B stuff
};

只有一個條件,而且條件計算完成時方法或變量就已經作為結果返回了!
重復的對象創建

相比較重復的操作,重復的對象創建更難發現,通常是表現在正則表達式上??匆幌孪旅娴倪@段代碼:
復制代碼 代碼如下:

function cleanText(dirty) {
// 去除SCRIPT tags
clean = dirty.replace(/<script[^>]*>([/s/S]*?)<//script>/gi, "");

// Do some more cleaning, maybe whitespace, etc.

return clean;
}

上面的代碼會不斷的重復創建一個新的(但是相同的)正則表達式對象,對于這種情況,如果你在這個函數的外部創建這個對象,就能避免這種情況的出現:
復制代碼 代碼如下:

var scriptRegex = /<script[^>]*>([/s/S]*?)<//script>/gi;
function cleanText(dirty) {
// Get rid of SCRIPT tags
clean = dirty.replace(scriptRegex, "");

// Do some more cleaning, maybe whitespace, etc.

return clean;
}

在上面的例子中,正則表達式對象只創建了一次,但多次使用――省了很多CPU處理。

這只是一部分我經??吹降钠渌绦騿T寫的有重復問題的例子,你也有這方面的發現嗎?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av综合网站| 国产欧美精品xxxx另类| 992tv成人免费影院| 97在线免费观看视频| 久久精品视频中文字幕| 中文字幕在线观看亚洲| 久久久视频精品| 久久久之久亚州精品露出| 国产精品美女主播| 中文字幕久精品免费视频| 亚洲男人第一网站| 亚洲综合自拍一区| 亚洲天堂av在线免费观看| 国产精品日本精品| 欧美精品video| 中文日韩在线视频| 成人黄色免费在线观看| 欧美巨猛xxxx猛交黑人97人| 亚洲高清福利视频| 成人a视频在线观看| 日韩va亚洲va欧洲va国产| 91久久综合亚洲鲁鲁五月天| 欧美日韩中文字幕| 欧美综合一区第一页| 色噜噜狠狠狠综合曰曰曰88av| 亚洲精品91美女久久久久久久| 久久精品亚洲一区| 亚洲天堂男人天堂| 亚洲一区二区精品| 欧美电影免费观看大全| 亚洲精品91美女久久久久久久| 久久99精品国产99久久6尤物| 亚洲小视频在线| 国产ts人妖一区二区三区| 国产精品嫩草影院一区二区| 国产精品盗摄久久久| 欧洲美女免费图片一区| 成人免费视频在线观看超级碰| 中文字幕日韩精品有码视频| 国产欧美韩国高清| 久久久久久91香蕉国产| 中文国产亚洲喷潮| 免费97视频在线精品国自产拍| 国产69精品久久久久9999| 亚洲精品按摩视频| 亚洲精品一区中文字幕乱码| 亚洲精品99久久久久中文字幕| 色偷偷av一区二区三区| 国产91精品在线播放| 久久久噜噜噜久久| 亚洲欧美日韩在线一区| 欧美理论在线观看| 日韩av在线天堂网| 91系列在线播放| 欧美激情女人20p| 在线观看免费高清视频97| 欧美日韩成人黄色| 国产精品视频999| 97免费视频在线| 国产精品精品国产| 丁香五六月婷婷久久激情| 欧美视频第一页| 亚洲影院在线看| 成人做爰www免费看视频网站| 欧美夫妻性生活视频| 国产精品自拍网| 国产精品国产亚洲伊人久久| 欧美在线一区二区三区四| 国产成人精品a视频一区www| 91亚洲午夜在线| 久久精品国产一区二区三区| 992tv成人免费视频| 国产日韩av高清| 国产视频观看一区| 亚洲最大成人网色| 欧美激情图片区| 国产综合香蕉五月婷在线| 久久久久久18| 成人美女av在线直播| 国产成人精品国内自产拍免费看| 色偷偷88888欧美精品久久久| 久久久久久18| 欧美成人精品激情在线观看| 成人h片在线播放免费网站| 91精品视频专区| 欧美一级片在线播放| 国产精品久久在线观看| 亚洲乱码av中文一区二区| 日韩电影在线观看免费| 亚洲人高潮女人毛茸茸| 日韩av第一页| 91国产高清在线| 久久精品成人一区二区三区| 精品美女永久免费视频| 日韩电影中文 亚洲精品乱码| 57pao成人永久免费视频| 国产美女久久精品香蕉69| 日韩精品视频在线观看网址| 亚洲白拍色综合图区| 亚洲区一区二区| 精品久久久免费| 久久久噜噜噜久噜久久| 欧美激情影音先锋| 国产狼人综合免费视频| 亚洲tv在线观看| 日韩中文字幕精品视频| 欧美日韩国产成人| 性色av一区二区三区红粉影视| 中文字幕日韩专区| 日本一区二区在线免费播放| 91午夜理伦私人影院| 日韩视频一区在线| 久久久久久91| 成人国产精品一区二区| 免费99精品国产自在在线| 最新国产精品拍自在线播放| 97视频在线观看网址| 成人精品网站在线观看| 神马久久久久久| 久久亚洲精品毛片| 日韩成人网免费视频| 国产精品大陆在线观看| 国产一区二区三区中文| 欧美高清第一页| 亚洲国产高潮在线观看| 亚洲国产欧美自拍| 欧美性20hd另类| 日韩精品免费在线观看| 久久久久久久电影一区| 国产精品白嫩美女在线观看| 亚洲国产日韩欧美在线动漫| 精品国产老师黑色丝袜高跟鞋| 欧美猛男性生活免费| 日韩亚洲一区二区| 97色在线视频| 久精品免费视频| 91免费版网站入口| 一区二区在线视频| 国产精品亚洲片夜色在线| 国产精品天天狠天天看| 亚洲午夜女主播在线直播| 中文字幕免费精品一区| 亚洲free嫩bbb| 国产精品久久久久久久久| 亚洲精品www久久久久久广东| 久久成人这里只有精品| 97超碰蝌蚪网人人做人人爽| 欧美一级视频免费在线观看| 色偷偷av亚洲男人的天堂| 欧美成人免费一级人片100| 国产精品入口夜色视频大尺度| 黑人精品xxx一区| 欧美不卡视频一区发布| 国产日韩在线播放| 欧美日韩国产综合视频在线观看中文| 国产精品久久综合av爱欲tv| 美女少妇精品视频| 精品中文字幕在线| 97国产suv精品一区二区62| 欧美日韩xxxxx| 国产精品私拍pans大尺度在线| 国产精品日韩欧美综合| 久久久国产影院| 亚洲精品资源美女情侣酒店|