javascript数组和用判断语句的性能问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 19:15:55
我在写一个javascript,请问是初始化定义一个数组并且赋值的性能高,还是通过事件然后里面加判断性能高?代码如下:
第一种
<javascript>
var busiArray=new Array();
var busiArray1=new Array();
var busiArray2=new Array();
busiArray1[0] = "0";
busiArray2[0] = "1";
busiArray[0] = "check";
</script>
然后通过点击时间判断busiArray[0]是否为"check",如果是则可以取得busiArray1[0]和busiArray2[0]变量..
第二种:
<javascript>
var a="";
var b="";
var c="1";
通过选下拉列表中的数据得到一个参数d
然后判断d的值,然后给b和c赋值...
其实就是一个初始化定义数组,把所有数据放入数组和初始化定义几个变量,通过操作给几个变量赋值....请问哪个性能好一点
不是十四个数据...一共80多个呢

假设楼主的数据都是同一类型(如果是多种类型的话数组貌似不是好的选择-可读性太差)

有两个因素:
1.数组的长度。
就是你需要多少数据,数据越多用数组越合算(如果多到导致FULL GC那是另外一回事),因为省掉了在JVM堆中定位不同变量的开销。
2.判断的次数
就是你操作这些数据的次数。次数越多数组越合算 - 很明显复用远比重复开辟内存块要有效率。

结论:
如果只是1次操作,1~2个数据的话我会选择扁平的多个变量
如果是多次操作,大量数据的我自然会用cache的集合类

以上只是纯粹从运行效率的角度考虑,如果从开发效率(就是维护成本)考虑,我会考虑flat的多个变量,通过naming convention来增加代码可维护性。

JavaScript是在浏览器执行的代码,除非你要做很复杂的科学运算,不然一般都不会怎么影响性能的.
这是我的一点建议.楼主执意要达到最好性能的话,期待别人的解释

本来想仔细研究下,但是一看才14个数据。。。。
别研究了,怎么弄都一样。

想提供加载速度,可以考虑把<script>标签放到<body>后面。