首页 > 关于JS数组和对象查找效率的小问题

关于JS数组和对象查找效率的小问题

最近在写一个js小项目,对执行效率的要求比较高
在程序中,需要频繁读写某一用于记录状态的变量,目前对这个变量的类型有两种想法:

1、作为对象(Object)

status.x=111;
status.y=222;
//...

2、作为数组(Array)

//在文档中规定,[0]表示x,[1]表示y,...
status[0]=111;
status[1]=222;
//...

目前纠结于,前者的语义更优,但就实现上而言,猜测后者的查找效率可能更优

所以请问,在各大JS引擎的实现中,后者的查找效率是否高于前者?


算了,写测试程序在各大引擎上跑了跑,V8有优化,另外没有。结题。


话说数组不就是一种特殊的对象么?


就用对象,你只需考虑语义和用着方便就够了。
程序效率还不用纠结到这上面来,把程序里面的逻辑和流程好好优化优化效果更明显。因为一个程序一般来说都有好几种写法,只是大多时候你习惯一种写法
常见的优化比如,函数提取、for循环>forEach>map,流程运行将概率大的判断放在前面并及时返回等等(这些东西一方面可以通过分析和体会得到,另外还可以通过benchmark来实测)。
再说一句,好的程序是不需要或者很少写注释别人就能快速看懂的,尤其要避免一些非程序性的规定(比如你这个)。

【热门文章】
【热门文章】