检测导致冻结等问题的错误 JS
Detect bad JS that causes problems such as freezes
我写了一个JS脚本,它似乎工作正常。但是,在随机点,它会使浏览器冻结。后者尤其在移动设备上很快/经常发生。是否有任何工具可以检查哪个部分搞砸了,即可能需要太多的RAM/CPU?
我知道Chrome DevTools中有诸如"配置文件"之类的东西,但是我没有足够的经验来了解问题所在。如果这样做是正确的,有什么指示吗?
提前感谢!
要记住的主要事情是JavaScript是单线程的。如果一个函数需要很长时间,那么它将阻塞事件循环,因此其他函数无法运行。例如,您在jQuery中找到的动画通过在计时器上重复调用函数来工作。如果函数阻塞事件循环,则根据您的页面和其中的内容,许多功能可能会降级,浏览器可能会冻结。
因此,大多数问题都是由执行时间过长的函数引起的。
"配置文件"是用于此的好东西。启动配置文件,运行您的页面,直到发生"坏"事件,然后查看结果。Chrome 将按照执行时间的顺序列出函数。如果你发现一个函数花费的时间比你想象的要多,那就是你的罪魁祸首。调用函数的次数越多,执行所需的时间就越多,但是如果您编写了代码,那么您应该知道调用各种函数的频率。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- RxJS:在循环中处理错误.js自定义驱动程序
- 如何在快递中抛出 404 错误.js
- 如何捕获服务器错误 JS
- 帆的“500”错误.js“测试项目”
- 快递中的会话未定义错误.js
- jquery.validate 中的错误.js“javaScript 运行时错误:无法获取未定义或空引用的属性'
- 角度动画中的奇怪错误.js
- 如何删除“对象在节点中没有方法'forEach'错误.js”
- 错误 JS 将发布数据发送到控制器 -CodeIgniter
- 使用摩卡在节点上测试错误.js函数
- 为什么 Magento js/varien/form.js IE 中的错误 - js fiddle
- 检测导致冻结等问题的错误 JS
- 三中的错误.js:相机不是三的实例.照相机
- 编译错误js.72.未处理的错误
- PHP停止表单重新加载显示错误Js
- 节点中的套接字挂断错误.js使用 https 时
- 纹理加载错误(JS动画)
- jasmineNodeOpts:执行量角器时出现意外的标识符错误.js