javascript - 两个函数,就for循环内有语句差异,能简单合并掉么?
ringa_lee
ringa_lee 2017-04-10 15:37:06
[JavaScript讨论组]

原谅我这个毫无主题的标题。。因为确实不知道如何描述。
有下面两个函数,testParsetestGetTime,除了for循环内一句定义语句外,其他函数体内容完全一样,想问下可以把这两个函数合并成一个么?
主要是为了测试两种Date()方法的效率,所以times值会变得很大

    function testParse(times){
    var startTime=new Date();
    for (var i = 0; i < times; i++) {
        var d=new Date();
        var formatDate=Date.parse(d);//这一行填写具体的格式化函数
    };
    var endTime=new Date();
    var gapTime=endTime-startTime;
    console.log('一共耗时:'+gapTime+'ms');
  }

    function testGetTime(times){
    var startTime=new Date();
    for (var i = 0; i < times; i++) {
        var d=new Date();
        var formatDate=d.getTime();//这一行填写具体的格式化函数
    };
    var endTime=new Date();
    var gapTime=endTime-startTime;
    console.log('一共耗时:'+gapTime+'ms');
  }

一开始我的思路是swtichfor中,但是感觉对函数效率影响比较大(因为当for循环次数比较大的时候,感觉基本上时间都是switch用掉的,对结果污染比较大。

或者就是swtich放到for外面,但是这样的话for循环体的代码就不能重用,所以想问下有没有别的方法?

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
PHPz
function testFN(times,ready){
        var startTime=new Date();
        for (var i = 0; i < times; i++) {
            if(ready){
                var d=new Date();
                var formatDate=Date.parse(d);//这一行填写具体的格式化函数
            }else{
                var d=new Date();
                var formatDate=d.getTime();//这一行填写具体的格式化函数
            }
        };
        var endTime=new Date();
        var gapTime=endTime-startTime;
        console.log('一共耗时:'+gapTime+'ms');
    }
    testFN(10000,true);
    testFN(10000,false);
阿神
javascriptfunction test(times,func){
    var startTime=new Date();
    for (var i = 0; i < times; i++) {
        func();
    };
    var endTime=new Date();
    var gapTime=endTime-startTime;
    console.log('一共耗时:'+gapTime+'ms');
}

function t_parse() {
    var d=new Date();
    var formatDate=Date.parse(d);
}

function t_getTime() {
    var d=new Date();
    var formatDate=d.getTime();
}

test(10000,t_parse);
test(10000,t_getTime);

试了下拆成这样测试的结果跟你给出的函数测试结果差不多。
你还可以测点别的想测的……

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号