问题如题:下面是我基于mootools给的一段js,性能不满意,求高性能的js代码,或基于mootools的实现方法,
注:数据量几千条begin = new Date().getTime();
css="allchecked";s1="";
for(i=0;i<$$('.'+css).length;i++){
if(!$$('.'+css)[i].get('checked')){
s1+=$$('.'+css)[i].get('value')+'#_@_#';
}
}
console.log(s1);
end = new Date().getTime();
console.log(end-begin);
注:数据量几千条begin = new Date().getTime();
css="allchecked";s1="";
for(i=0;i<$$('.'+css).length;i++){
if(!$$('.'+css)[i].get('checked')){
s1+=$$('.'+css)[i].get('value')+'#_@_#';
}
}
console.log(s1);
end = new Date().getTime();
console.log(end-begin);
css = "allchecked";var s1 = [];
for (i = 0, len = $$('.' + css).length; i < len; i++)
{
var obj = $$('.' + css)[i];
if (!(obj.get('checked')))
{
var val = obj.get('value') + '#_@_#';
s1.push(val);
}
}
var str = s1.join("");
console.log(str);
end = new Date().getTime();
console.log(end - begin);
类似这样的写法$$(".classname[checked='checked']"),好像jquery中是有的。 jquery实现的原理是什么?
begin = new Date().getTime();
css = "allchecked";var s1 = [];
var comps = $$('.' + css);
for (i = 0, len = comps.length; i < len; i++)
{
var obj = comps[i];
if (!(obj.get('checked')))
{
var val = obj.get('value') + '#_@_#';
s1.push(val);
}
}
var str = s1.join("");
console.log(str);
end = new Date().getTime();
console.log(end - begin);
这是极限了我觉的 该考虑的都考虑了 其他性能上的优化得从框架里的源码入手了