jjzjj

JavaScriptJavaScript

全部标签

如何用 JavaScript 编写你的第一个单元测试

测试代码是确保代码稳定的第一步。能做到这一点的最佳方法之一就是使用单元测试,确保应用程序中的每个较小的功能都按应有的方式运行——尤其是当应用程序接收到极端或无效输入,甚至可能有害的输入时。为什么要进行单元测试?进行单元测试有许多不同的方法,一些主要目的是:验证功能:单元测试确保代码做正确的事情并且不做任何不应该做的事情——大多数错误发生在这里。防止代码回归:当我们发现错误时,添加单元测试来检查场景可以防止代码更改在将来重新引入错误。记录代码:通过正确的单元测试,一套完整的测试和结果提供了应用程序应该如何工作的规范。保护您的应用程序:单元测试可以检查可利用的漏洞(例如启用恶意SQL注入的漏洞)。

原生拖拽太拉跨了,纯JS自己手写一个拖拽效果,纵享丝滑

前言提到元素拖拽,通常都会先想到用HTML5的拖拽放置(Drag和Drop)来实现,它提供了一套完整的事件机制,看起来似乎是首选的解决方案,但实际却不是那么美好,主要是它的样式太过简陋,无法实现更高级的用户体验:这是浏览器默认的拖拽效果,点住拖拽任意图片或文字都会产生。笔者因为之前有个小项目需要经常参考稿定设计,一直有留意其元素拖拽的效果(如下图),所以接下来我将以这种效果为蓝本,使用原生JS实现一个富有动感的自定义拖拽效果,话不多说直接开摸。实现原理首先说下思路,我们需要知道鼠标的三个事件,分别是mousedown,mousemove,mouseup,当点击按下的时候,克隆一个绝对定位的元素

#yyds干货盘点#常见的JavaScript内存错误

JavaScript不提供任何内存管理操作。相反,内存由JavaScriptVM通过内存回收过程管理,该过程称为垃圾收集。​既然我们不能强制的垃圾回收,那我们怎么知道它能正常工作?我们对它又了解多少呢?脚本执行在此过程中暂停它为不可访问的资源释放内存它是不确定的它不会一次检查整个内存,而是在多个周期中运行它是不可预测的,但它会在必要时执行这是否意味着无需担心资源和内存分配问题?当然不是。如果我们一不小心,可能会产生一些内存泄漏。什么是内存泄漏?内存泄漏是软件无法回收的已分配的内存块。Javascript提供了一个垃圾收集程序,但这并不意味着我们就能避免内存泄漏。为了符合垃圾收集的条件,该对象必

如何用 JavaScript 编写你的第一个单元测试

测试代码是确保代码稳定的第一步。能做到这一点的最佳方法之一就是使用单元测试,确保应用程序中的每个较小的功能都按应有的方式运行——尤其是当应用程序接收到极端或无效输入,甚至可能有害的输入时。为什么要进行单元测试?进行单元测试有许多不同的方法,一些主要目的是:验证功能:单元测试确保代码做正确的事情并且不做任何不应该做的事情——大多数错误发生在这里。防止代码回归:当我们发现错误时,添加单元测试来检查场景可以防止代码更改在将来重新引入错误。记录代码:通过正确的单元测试,一套完整的测试和结果提供了应用程序应该如何工作的规范。保护您的应用程序:单元测试可以检查可利用的漏洞(例如启用恶意SQL注入的漏洞)。

原生拖拽太拉跨了,纯JS自己手写一个拖拽效果,纵享丝滑

前言提到元素拖拽,通常都会先想到用HTML5的拖拽放置(Drag和Drop)来实现,它提供了一套完整的事件机制,看起来似乎是首选的解决方案,但实际却不是那么美好,主要是它的样式太过简陋,无法实现更高级的用户体验:这是浏览器默认的拖拽效果,点住拖拽任意图片或文字都会产生。笔者因为之前有个小项目需要经常参考稿定设计,一直有留意其元素拖拽的效果(如下图),所以接下来我将以这种效果为蓝本,使用原生JS实现一个富有动感的自定义拖拽效果,话不多说直接开摸。实现原理首先说下思路,我们需要知道鼠标的三个事件,分别是mousedown,mousemove,mouseup,当点击按下的时候,克隆一个绝对定位的元素

#yyds干货盘点#常见的JavaScript内存错误

JavaScript不提供任何内存管理操作。相反,内存由JavaScriptVM通过内存回收过程管理,该过程称为垃圾收集。​既然我们不能强制的垃圾回收,那我们怎么知道它能正常工作?我们对它又了解多少呢?脚本执行在此过程中暂停它为不可访问的资源释放内存它是不确定的它不会一次检查整个内存,而是在多个周期中运行它是不可预测的,但它会在必要时执行这是否意味着无需担心资源和内存分配问题?当然不是。如果我们一不小心,可能会产生一些内存泄漏。什么是内存泄漏?内存泄漏是软件无法回收的已分配的内存块。Javascript提供了一个垃圾收集程序,但这并不意味着我们就能避免内存泄漏。为了符合垃圾收集的条件,该对象必