js获取程序执行的时间长短 控制台之console。
今天在地铁上面刷公众号!一不小心看到了一个有意思的命令。特地来分享一下。
console.time(); console.timeEnd();
只要你把他们两一个放到要执行的程序前面,一个放到程序的结尾。就可以得到程序执行的时长。
console.time("global"); var s = 0; for(var i=0;i<999999;i++){ s+=i; } console.log(s); console.timeEnd("global");
后来我又写了一个闭包 试试同样的程序需要的时长。
console.time("closure"); (function x() { var s = 0; for(var i=0;i<999999;i++){ s+=i; }; console.log(s); })() console.timeEnd("closure");
可以看出相同的程序,闭包的作用时间确实短不少。当然 主要还是因为:闭包找寻变量 s 的时候花费的时间比全局搜索要好!
面对这么好用的东西,我自然想发到HTML里面去!但是console.time().没有返回值。只能传个 id进去。比如 我上面代码里面的 global closure。
后来,搜索到一个带有返回值的函数。
window.performance.now()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> window.onload = function(){ var start = window.performance.now(); var s = 0; for(var i=0;i<999999;i++){ s+=i; } console.log(s); var end = window.performance.now(); var duration = end - start; var two = document.getElementById("two"); two.innerHTML =duration; } </script> </head> <body> <p>global:<span id="two"></span></p> </body> </html>
同样要前后各放一个,用不同变量去接收。然后差值计算。其实就是计算时间差。
由此,我不禁想到js里面的Data.now(),同样是两个。就可以了!
var start = Date.now(); var s = 0; for(var i=0;i<999999;i++){ s+=i; } console.log(s); var end = Date.now(); var duration = end - start;
其实,还有许多管console的用法。在此,我就不过多赘述。请戳我了解更多
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了