考虑此测试http://jsperf.com/query-wrappers
有没有人有一个想法为什么“jq wrapper(single)”测试比“直接调用单一”测试快3倍?? (Chrome结果)
对我来说没有任何意义 - 我尝试用“单一”类中的值0替换this.i,结果不会有太大变化。
我看到的唯一方法是浏览器是否有针对这些情况的某种增强系统......
我实在无法绕过它:D
答案 0 :(得分:0)
你的代码很奇怪:
function multiple(el){
this.length = 0;
for(var i=0;i<this.length;i++) this[this.length++] = el[i];
}
这永远不会有任何有用的东西。您将“length”属性初始化为零,因此后续循环根本不会执行任何操作。
代码中的其他位置似乎假设“长度”将自动管理。但是,这仅适用于您的对象不能使用的Array实例。