function Time () {
console.time()
// 中间这一块我是随便写的↓
var a = 0
for (var i = 0 i < 100000 i++) {
a++
}
console.log(a)
// ↑↑↑↑↑↑↑↑↑↑↑↑
console.timeEnd()
}
Time()
emmm~~~
for 循环 a++ 10万次 花了近 7 毫秒呢
var memoize = function (f) {var cache = {}
return function () {
//JSON是JS提供的一个工具对象 (Utility)
var arg_str = JSON.stringify(arguments)
cache[arg_str] = cache[arg_str] || f.apply(f, arguments)
return cache[arg_str]
}
}
function fibo(n) {
if (n == 1 || n == 2) {
return 1
}
return fibo(n - 1) + fibo(n - 2)
}
function testfibo(f, n) {
var now = Date.now()
f.call(null, n)
var newNow = Date.now()
return '执行时间:' + newNow - now + 'ms'
}
var execFibo = memoize(testfibo)
var result = execFibo(fibo, 40)
console.log(result) // -> 863ms
如下有一个求和的函数,我们要知道这个函数执行需要的时间function add(){
var sum = 0
for(var i = 0i<1000000i++){
sum += i
}
return sum
}
定义一个测试函数,将待测函数作为参数传入
function test(func){
var start = new Date().getTime()//起始时间
func()//执行待测函数
var end = new Date().getTime()//接受时间
return (end - start)+"ms"//返回函数执行需要时间
}
测试并查看实际执行时间
var time = test(add)
console.log(time)