利用console.time优化js代码
前言
也许你经常会想知道如何优化自己的代码,除了设计模式、代码简洁、易维护之外,我们还需要考虑的一点也非常重要,尤其是检测一些逻辑的复杂性上,那就是代码的实际执行时间。
console.time(timerName)
作为常识,我们首先要知道console.time() 以及timeEnd()已经为我们提供了api,可以方便的检测代码段的执行时间,每一个计时器必须拥有唯一的名字,页面中最多能同时运行10,000个计时器,最终会返回一个代码段执行的计时:timerName:xxxms
。
在这个之前我们可能是通过代码开始和结束位置加入new Date()来查看时间差对比代码执行效率。
mdn参考文档:console.time
for循环
众所周知,for循环是非常低效的方式,但有些时候可能没有更好的方法找到某条件的元素,但一定要注意我们在找到匹配某条件的元素后要跳出循环,否则就会进行无意义的继续循环,降低代码的执行效率。
代码举例
function test1(){console.time(1)for(var i = 0 ; i<1000000 ;i++){if(i==99) {var temp=1continue }}console.timeEnd(1)
}function test2(){console.time(2)for(var i = 0 ; i<1000000 ;i++){if(i==99) {var temp=1break }}console.timeEnd(2)
}
test1()//268.429931640625ms
test2()//0.09326171875ms
复制代码
codepen实例
console.time案例
总结
通过以上时间的直接证明,我们可以看出某些必要的逻辑优化以及代码优化是非常必要的(比如逻辑完成时及时跳出当前逻辑尤其循环逻辑),对于代码执行效率上总结出来的一些经验可是非常宝贵的编程思想or技巧。
利用console.time优化js代码相关推荐
- 利用Console来调试JS程序、Console用法总结
利用Console来调试JS程序.Console用法总结(1) 一 .什么是 Console Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console ...
- 前端性能优化—js代码打包
现在的 web 应用,内容一般都很丰富,站点需要加载的资源也特别多,尤其要加载很多 js 文件.js 文件从服务端获取,体积大小决定了传输的快慢:浏览器端拿到 js 文件之后,还需要经过解压缩.解析. ...
- 优化JS代码的34种方法(上)
1. 含有多个条件的if语句 //longhand if(x === 'abc' || x === 'def' || x === 'ghi' || x == 'jkl'){//logic }//sho ...
- 如何优化js代码(2)——for循环
2.for循环 for循环是我们经常会遇到的情况,我们先看看下面例子: ? <input type="button" value="效率低" onclic ...
- js判断PC端或是移动端、判断是不是微信浏览器、js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本
** js判断PC端或是移动端 ** 第一种 window.location.href = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator ...
- 国内两个JS加密平台,加密JS代码效果对比
国内两个JS加密平台,加密JS代码效果对比 如题,对比国内两家JS加密平台,加密JS的效果 一.JShaman,JS加密平台 测试用JS代码: function get_copyright(){ va ...
- ML之SVM:基于Js代码利用SVM算法的实现根据Kaggle数据集预测泰坦尼克号生存人员
ML之SVM:基于Js代码利用SVM算法的实现根据Kaggle数据集预测泰坦尼克号生存人员 目录 实验数据 设计思路 实现代码(部分代码) 实验数据 设计思路 实现代码(部分代码) /**js代码实 ...
- windows系统和linux系统可以使用相同的js代码吗_使用Sboxr自动发现和利用DOM(客户端)XSS漏洞...
这一系列的博客文章将向你展示如何在单页或富JavaScript的应用程序上识别DOM XSS的问题.作为示例,我们将在DOM XSS playground(https://domgo.at)上解决10 ...
- html段落自动删除,利用JS代码自动删除稿件的普通弹幕功能
事情的起因是在b站投稿了一个高级弹幕测试的视频(av9940487),但是由于b站的弹幕池机制是新的弹幕顶掉旧的弹幕,所以导致一些人发的高级弹幕很快就被顶掉了. 所以就想着写个脚本来自动删除属性为普通 ...
- 渗透学习-学习记录-利用浏览器的开发者工具实时修改网页前端JS代码(实现绕过)
文章目录 前言 一.JS前端的修改 前言 最近学习了一些有关于JS脚本搭建网站方面的安全知识.通常来说JS是前端的页面代码,因此我们可以直接修改前端的JS代码来实现绕过,故我试着做了一下利用浏览器的开 ...
最新文章
- 【组合数学】组合存在性定理 ( 三个组合存在性定理 | 有限偏序集分解定理 | Ramsey 定理 | 相异代表系存在定理 | Ramsey 定理内容概要 )
- Beats Studio3录音师手机音源配置,听出好声音,听出震撼效果!勇士限量款评测!
- [DIV+CSS应用]澄清display:inline;与float:left;的用途
- go语言 不支持动态加载_动态语言支持
- java动态代理二cglib
- wordvba编程代码大全_这几本基础编程书籍一定要看
- 【HeadFirst设计模式——开篇】
- Java基础之字符如何截取?
- php mysql 内存表_用mysql内存表来代替php session的类_PHP教程
- Linux 系统服务之间 实现免密登陆
- Kubernetes快速部署,kubectl命令使用,资源管理
- tombstone 信息解析
- Linux学习之Makefile编写
- java源码之 io 流源码解读(一)
- 猜字游戏计算机,《C猜字游戏.doc
- 微信公众号实现微信支付(含前后端完整代码)
- H5手机端ios的缓存
- 打工人最怕听到的词是团建
- Android开发应用案例——简易计算器(附完整源码)
- CMS功能(简介和配置)
热门文章
- 如何将一个字典转换为玲阶矩阵_每日一课 | Python循环字典
- 消除PyCharm中满屏的波浪线
- 输出字符串全排列 c语言,41.输出全排列-题解(C语言代码)
- eos linux开发语言,EOSIO与Linux之间的区别
- 东宫初见计算机乐谱,东宫初见简谱歌词 曲风比较微美的抒情曲
- linux db2v9.7卸载,db2 卸载和安装
- 安庆师范大学计算机学院书记,安庆师范大学计算机与信息学院导师教师师资介绍简介-施赵媛...
- java执行update的方法_解决Hibernate4执行save()或update()无效问题的方法
- 云小蜜知识库维护的流程和维护建议
- Java中方法中的参数传递