AJax技术

也谈提升js代码可读性的小技巧(5)

字号+ 作者:H5之家 来源:H5之家 2017-06-16 16:01 我要评论( )

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 /

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>

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 标签:[ PHP+Ajax+lottery.js ] 列表

    标签:[ PHP+Ajax+lottery.js ] 列表

    2017-06-10 17:00

  • 观看:Ajax引擎:ajax请求步骤详细代码

    观看:Ajax引擎:ajax请求步骤详细代码

    2017-05-30 08:02

  • PHP中运用jQuery的Ajax跨域调用实现代码

    PHP中运用jQuery的Ajax跨域调用实现代码

    2017-05-21 13:01

  • ajax与302响应代码测试

    ajax与302响应代码测试

    2017-05-20 12:05

网友点评
p