Javascript 如何加速脚本?

Javascript 如何加速脚本?,javascript,performance,drupal,drupal-6,Javascript,Performance,Drupal,Drupal 6,我正在使用drupal,我得到了这个脚本来查找注释。如果你了解drupal,那么你就知道一个臭名昭著的问题,那就是如果你点击一个评论链接,而该评论不在第1页上,那么你将一事无成。该脚本通过查找评论并将您带到正确的页面来解决此问题,但速度慢吗。。我的问题是:有什么办法可以加快速度吗 eval(功能(p、a、c、k、e、r){ e=功能(c){ 返回(c35?String.fromCharCode(c+29):c.toString(36)) }; 如果(!''。替换(/^/,字符串)){ 而(c-

我正在使用drupal,我得到了这个脚本来查找注释。如果你了解drupal,那么你就知道一个臭名昭著的问题,那就是如果你点击一个评论链接,而该评论不在第1页上,那么你将一事无成。该脚本通过查找评论并将您带到正确的页面来解决此问题,但速度慢吗。。我的问题是:有什么办法可以加快速度吗

eval(功能(p、a、c、k、e、r){
e=功能(c){
返回(c35?String.fromCharCode(c+29):c.toString(36))
};
如果(!''。替换(/^/,字符串)){
而(c--)r[e(c)]=k[c]| | e(c);
k=[
职能(e){
返回r[e]
}
];
e=函数(){
返回'\\w+'
};
c=1
};
而(c--)
如果(k[c])p=p.replace(新的RegExp('\\b'+e(c)+'\\b',g'),k[c]);
返回p

}(6)6(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(3)名(6)名(6)名(3)名(6)名(6)名(6)名(6)名(6)名(6)a=9.F=9.F)名(6.F(D“D”,6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名(6)名)名(6)名(6)名)名(6)名(6)名)名(6)名(6)名(6)名(6)名)名)名(6)名(6)名(6)名)名)名(6)的)3.h(0,8)==“g-”)4+c.Q.h(8);2n=p(c);3(N)4n}6j(a,B){k(2i=0;i=1)?c[1]:“}}4”“}())“55、55、55、55,”55、55、55,“55、55、55、55,”55、55、55、55、55,”55、55、55、55、55、55、55、55、55、55、55、55、55、55、12、12、12、12、5、12、12、5、12、12、4、4、5、4、4、5、4、4、5、5、5、4、5、5、5、5、5、5、4、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、| window | load | getElementsByTagName | cl | addEventListener | false | attachEvent | on | search | 99 | body | match | join | else | in | splice.split(“|”)、0、{}))
所以这里是代码的解包版本

函数
getFirstCommentNumber
在它接收到的参数的所有子节点上递归调用自己,函数
commentLink
使用
document.body
调用它。基本上,您正在遍历整个DOM结构以查找注释号

是否有更好的DOM节点只包含您可以在
commentLink
内部传递到
getFirstCommentNumber
调用中的注释

(函数(){
addEvent(窗口,“加载”,功能(){
commentLink();
var a=document.getElementsByTagName(“a”);
对于(var i=0;
i=99)
回来
var e=getFirstCommentNumber(document.body);
如果(e){
var f=location.href.match(/.*(?=\?| | | | |$)/)+“?page=“+(d+1)+”&cs=“+e+(b+)?”和“+b.join(&”):”)+location.hash;
如果(c)
位置。替换(f);
其他的
位置=f
}
}
函数getFirstCommentNumber(a){
for(a.childNodes中的变量b){
var c=a.childNodes[b];
如果(c.id&&c.id.substr(0,8)=“注释-”)
return+c.id.substr(8);
var n=getFirstCommentNumber(c);
如果(n)
返回n
}
}
函数removeSearchValue(a、b){
对于(var i=0;
i=1)?c[1]:“”
}
}
返回“”
}
}

());
你从哪里得到脚本的?如果你需要帮助优化,提供原始的解包版本可能会很有用;@user4843525那么你就没有机会优化代码了