for in需要调用js的Iterator对对象的属性进行枚举,然后再执行循环
for的是直接通过index索引到object的指针
for用于可预测循环次数的情况,而while可在不确定循环次数时使用,while甚至可以不在循环指令上指定跳出循环的条件。应该优先考虑for循环,一般情况下for循环的效率都是最高的。基本上没有区别,即使现在通过汇编代码发现for多一条汇编语句,也并不代表while的效率就高。
当编译器优化后,while和for都是一样。
像while和for这种语句,只要使用正确是不会造成效率瓶颈的,真正问题在设计上。
所以lz还是把主要心思放到设计。而不是这种语句效率问题上。