document.write("<br />h.splice(8,1)后的h为::"+h.splice(8,1));
//document.write("<br />h.splice(8,0,'a','b','Test')后的h为::"+h.splice(8,0,'a','b','Test'));
h.splice(7,0,'a','b','Test');
document.write("<br />h.splice(7,0,'a','b','Test')后的h为:"+h);
//javascript中的数组作为堆栈时和php类似
//这点有趣更有用。
//以下是作为堆栈是使用的小实例
/*
push方法是将一个或多个新元素附加到数组的尾部,然后返回数组的新长度。
pop将删除数组的最后一个元素,坚守数组的长度,返回他删除的值。
*/
var stack=new Array();
stack.push(1,2);
document.write("<br>stack的元素是:"+stack);
document.write("<br />stack.length="+stack.length);
document.write("<br>stack.pop()返回的结果是:"+stack.pop());
document.write("<br />stack.length="+stack.length);
//以下是作为队列使用的小实例
/*
unshift方法将一个或多个元素添加到数组元素的头部,然后把已有的元素移动到下标最大的位置已腾出空间
,它返回的是主族的新长度。
方法shift是删除并返回数组的第一个元素,然后将后面的所有元素都向前移动以填补第一个元素留下的空白。
*/
var list=[];
list.unshift(6,2);
document.write("<br >list的内容为:"+list);
document.write("<br>list的shift方法是:"+list.shift());
//此外就剩下,我们在java中熟悉的toString()方法 了
//It's a piece of cake!
document.write(c.toString());
//说白了,其实数组的toString()方法和无参数的join()的效果是完全相同
//OK,this's chapter for Array,that's all!
</script>
本文章给大家介绍一彷关于JavaScript 数组、Object对象for循环效率对比,有需要了解的朋友可参考
原来小航子(山山)跟我说过,多用object对象少用数组对象,因为object的效率要高一些,今天刚好在写一个JS的遇到了一个用数组还是用对象的问题,所以就简单写了测试页面。
代码如下 复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
<html xmlns="">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Test Page</title>
</head>
<body>
<p style="color:#fff; background:red;">Object for-in-Loop Spend Time: <span id="oaTime" style="background:#000;"></span></p>
<p style="color:#fff; background:red;">Array for-Loop Spend Time: <span id="aaTime" style="background:#000;"></span></p>
<h2>Object Area</h2>
<div id="object-area"></div>
<h2>Array Area</h2>
<div id="array-area"></div>
<script type="text/javascript">
//<![CDATA
function randomString() {
var i = Math.ceil(Math.random() * 200),
a = new Array(i);
while(i--)
a[i] = String.fromCharCode(Math.ceil(Math.random() * 40) + 30);
return a.join('');
};
var num = 1000;
var testObject = {}, testArray = [];
for (var i = 0; i < num; i++) {
var str = randomString();
testObject[i] = str;
testArray[i] = str;
}
var oa = document.getElementById('object-area'), aa = document.getElementById('array-area'), oat = document.getElementById('oaTime'), aat = document.getElementById('aaTime');
var startTime = new Date();
for (var name in testObject)
oa.innerHTML += testObject[name];
var endTime = new Date();
oat.innerHTML = endTime - startTime + 'ms';
var startTime = new Date();
for (var i = 0, length = testArray.length; i < length; i++)
aa.innerHTML += testArray[i];
var endTime = new Date();
aat.innerHTML = endTime - startTime + 'ms';
//]]>
</script>
</body>
</html>