Re: [問題] 油猴腳本越來越肥了,求優化方案
※ 引述《TonyQ (自立而後立人。)》之銘言:
: //如果這個選項內容直接就對應到字串那就可以直接做了。
: var key = $(this).text(); //範例實作,可能會需要調整
: var result = asiamap[key];
: if ( result != null){
: Asia[result] = $(this);
: }
: });
: 基本上就是打索引取代搜尋,你原本這種寫法每個 selector 都需要搜遍所有 h2,
: 如果能只搜尋一次就把需要的東西都找回來,
: 那效率會從 O(n^2) 變成 O(n) 會差蠻多的。
以你的例子來講,你的 #pvp_header > h2 只有一個,
卻要用 contains 查 n 次,這樣實在是很不經濟。
var oceania = {
'Tasmania':21
};
//原本是
//Oceania [21] = $("#pvp_header > h2:contains('Tasmania')")
var Oceania = [];
$("#pvp_header > h2").each(function(){
//這邊需要做一點字串上的判定,想辦法找出對應的字串 key,
//如果這個選項內容直接就對應到字串那就可以直接做了。
var key = $(this).text(); //範例實作,可能會需要調整
var result = asiamap[key];
if ( result != null){
Oceania[result] = $(this);
}
});
http://screencast.com/t/VKfwVauT
基本上應該很好 optimize 才對,這也只是其中一種方法而已,
實際上應該是看你拿這個h2來幹麼,還有機會再更簡單一點。
--
網頁上拉近距離的幫手 實現 GMail豐富應用的功臣
數也數不清的友善使用者體驗 這就是javascript
歡迎同好到 AJAX 板一同討論。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.241.140.152
推
07/04 01:13, , 1F
07/04 01:13, 1F
→
07/04 01:13, , 2F
07/04 01:13, 2F
→
07/04 01:13, , 3F
07/04 01:13, 3F
→
07/04 01:14, , 4F
07/04 01:14, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章