测试一: 代码: var t = Date.now(); var a = 0; var test_fun_1 = function() { for( var j = 0; j < 1000000; j++ ) { a += j; } }; for( var i = 0; i < 100; i ++ ) { test_fun_1(); } 测试方法: 分别把i的值设置为100,200,300,400,用i的值除以最后打印出的时间,即得到每秒执行test_fun方法的次数,分别为:67,69,69,70 总得说来差不多
测试二: var t = Date.now(); var a = 0; var test_fun_2 = 我封装的一个方法,比较复杂,有着js内的各种操作,这个方法每次运行都一样; for( var i = 0; i < 100; i ++ ) { test_fun_2(); } 分别把i的值设置为100,200,300,400,用i的值除以最后打印出的时间,即得到每秒执行test_fun方法的次数,分别为:192,78,42,26
问题: 通过测试一可以看出,如果只是单纯的计算,平均值不会随着计算的增多而变化。 测试二明显随着i的增大,每秒执行方法的次数是越来越小,导致这样的结果的原因有哪些?