算法的复杂度
发表于 更新于 本文字数: 1.9k 阅读时长 ≈ 2 分钟
算法(algorithm)的定义
算法是解题方案的准确而完善的描述,是一系列解决问题的清晰指令。其实就是解决一个问题的完整性描述。
算法的效率
既然算法是解决问题的描述,而解决同一问题的方法也是多种多样的,只是在这过程中我们所使用的时间或时间以外的代价(计算机消耗的则为内存)不一样。为了更快、更好、更强的提高算法的效率,很多时候一个优秀的算法就在于它与其他实现同一问题的算法相比,在时间和空间(内存)上得到明显的降低。
算法的效率主要由以下两个复杂度来评估:
时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。
空间复杂度:评估执行程序所需的存储空间。可以估算出程序对计算机内存的使用程度。
Javascript 执行机制
发表于 更新于 本文字数: 6.7k 阅读时长 ≈ 6 分钟
中文简繁体切换功能的实现
发表于 更新于 本文字数: 13k 阅读时长 ≈ 12 分钟
使用Js判断鼠标移入元素的方向
发表于 更新于 本文字数: 788 阅读时长 ≈ 1 分钟
判断鼠标从元素矩形区域的哪个方向进入的标准为:
当鼠标从元素矩形区域外移入元素矩形区域,和鼠标行动轨迹发生交叉的那条边就认为是鼠标进入的方向,例如鼠标从上方往下和上边有交叉,就认为是从上方进入。
本文要介绍几种方法来判断当鼠标滑入元素时,是从哪个方向进入;滑出元素时,从哪个方向滑出,以此对元素做一些交互效果。
求最小值
该方法是当鼠标滑入元素的时,从事件对象 e
中获取其位于文档中的坐标 (e.pageX, e.pageY)
,再计算出 x 轴方向坐标减去元素左侧距离文档左侧的距离和 x 轴方向坐标减去元素右侧距离文档左侧的距离,y 轴方向坐标减去元素顶部距离文档顶部的距离和 y 轴方向坐标减去元素底部距离文档顶部的距离,求出这四个数字的绝对值的最小值,即为鼠标进入元素的方向。