随笔分类 -  JavaScript

摘要:首先来看一个函数,考虑一下是否存在闭包呢?: function test (arr) { var temp = [] for (var i =0; i<arr.length; i++) { (function() { var j = i; temp[i] = function () { return 阅读全文
posted @ 2019-09-23 21:36 TateWang 阅读(387) 评论(0) 推荐(0) 编辑
摘要:现如今,TS正在逐渐成为前端OO编程的不二之选,以下是我在学习过程中对抽象类和接口做的横向对比。 1. 抽象类当做父类,被继承。且抽象类的派生类的构造函数中必须调用super();接口可以当做“子类”继承其他类 抽象类派生: 接口继承类: 当类被接口继承时,通常是需要为这个类的子类添加约束。例如下面 阅读全文
posted @ 2019-03-05 22:51 TateWang 阅读(4855) 评论(0) 推荐(1) 编辑
摘要:当前情况,移动端的开发占比越来越高,单指的拖拽触碰等操作是常规需要。特殊的多指操作与手势操作还需另做处理,而且还涉及到兼容性问题。 * 首先是手势操作的参数说明 * 需要用到Math的一个函数: Math.atan2(y, x) 意为:x轴 和 点(x, y)与 (0, 0)连线 逆时针方向形成的夹 阅读全文
posted @ 2019-02-28 22:10 TateWang 阅读(717) 评论(0) 推荐(0) 编辑
摘要:此文复现的所有兼容性问题均为以下情况: 1. 腾讯X5内核 2. 全屏webview 问题如下: 1. IOS12 中软键盘弹出导致页面顶部截断,并且无法恢复。 解决方法:添加交互事件,调用本地方法,在键盘收起后执行页面回滚操作。 2. 页面中有多个可编辑DIV时,点击IOS系统中软键盘左上方的上下 阅读全文
posted @ 2019-01-31 18:14 TateWang 阅读(990) 评论(0) 推荐(0) 编辑
摘要:首先此函数是基于大家都知道的Tween动画算法的,在此基础上使用了三中讲到的兼容版动画贞,可以使动画变得更流畅。 1. 首先要记得引入Tween.js 2. 引入mTween.js 3. 调用 * mTwee.js文件如下: (这里的m意为mobile) 调用方法: 阅读全文
posted @ 2018-12-16 12:27 TateWang 阅读(460) 评论(0) 推荐(0) 编辑
摘要:首先,传统做动画的方式有以下几种: 1. css的transition过度动画 2. css的animation动画 3. 使用setTimeout或setInterval模拟动画贞(js执行机制决定了并非严格意义上的动画贞) 定时器模拟动画又分为 :(1)速度版运动 (2)时间版运动 4.使用re 阅读全文
posted @ 2018-12-09 18:34 TateWang 阅读(772) 评论(0) 推荐(0) 编辑
摘要:移动端滑屏封装注意事项: 1.touchMove时候方向判断(可以控制在 以x轴位中心正负15度之内为横向滑屏,纵向滑屏同理) 2.上下滑屏与左右滑屏的冲突(判断用户滑动方向后,只做单方向的处理) 3.安卓触摸(例如某个人手指很粗)触发touchMove(记录上一次的手指坐标,每一次move的时候判 阅读全文
posted @ 2018-12-02 19:27 TateWang 阅读(349) 评论(0) 推荐(0) 编辑
摘要:前言: 大家都知道,在移动端进行操作结点移动时,我们都会使用操作transform来代替top等用以提高性能,必要的时候还可开启3d加速。我们都会使用getComputedStyle来获取结点的最终样式,但使用getComputedStyle来获取transform时我们获取到的是一个矩阵值,而且是 阅读全文
posted @ 2018-11-17 23:48 TateWang 阅读(339) 评论(0) 推荐(0) 编辑
摘要:最近在忙混合开发,因交互相对复杂,所以也踩了很多坑。在此做一下总结。 1.tap事件的实际应用 在使用tap事件时,老生常谈的肯定是点透问题,大多情况下,在有滑屏交互的页面时,我们会在根节点阻止默认行为以解决事件点透的bug。 阻止默认行为有优点,但也会相对带来一些问题。 优点: (1)解决事件点透 阅读全文
posted @ 2018-11-04 22:34 TateWang 阅读(1234) 评论(0) 推荐(0) 编辑
摘要:队列 队列中我们主要实现两种: 1. 常规队列 2. 优先队列(实际应用中的排队加急情况等) 常规队列的实现方法如下: 常规队列的应用之,队伍匹配(需要node环境): 优先队列中主要增加了权重的比对,实现方法如下: 优先队列的使用方法如下: 栈 栈是一种先进后出的结构,js中使用数组进行模拟 栈的 阅读全文
posted @ 2018-08-14 22:36 TateWang 阅读(221) 评论(0) 推荐(0) 编辑
摘要:hash散列中需要确定key和value的唯一确定关系。 hash散列便于快速的插入删除和修改,不便于查找最大值等其他操作 以下为字符和数字的hash散列: hash的使用方法: 阅读全文
posted @ 2018-08-14 22:28 TateWang 阅读(392) 评论(0) 推荐(0) 编辑
摘要:数据结构中的集合,类似于数学中常说的集合,是一类数据的群组。集合与集合之间还存在交集,并集,补集的运算。 ***集合为无序,集合内元素不重复 ***js的set基于数组, 使用SetClass为类名,区别于ES6 集合的实现方法如下: function SetClass () { this.data 阅读全文
posted @ 2018-08-14 22:18 TateWang 阅读(286) 评论(0) 推荐(0) 编辑
摘要:数据结构中,二叉树的使用频率非常高,这得益于二叉树优秀的性能。 二叉树是非线性的数据结构,用以存储带有层级的数据,其用于查找的删除的性能非常高。 二叉树 数据结构的实现方法如下: 二叉树 数据结构的使用方法如下: 阅读全文
posted @ 2018-08-14 22:09 TateWang 阅读(1534) 评论(0) 推荐(0) 编辑
摘要:首先需要明确以下几点: 1. js中除了Object.prototype和null之外,每一个对象都有一个原型对象。 2. 获取原型对象: 实例对象通过__proto__,构造函数通过prototype。 3. Object.defineProperty()和Object.assign()之类的函数 阅读全文
posted @ 2018-07-17 22:58 TateWang 阅读(178) 评论(0) 推荐(0) 编辑
摘要:首先,链表有以下特点: 1. 存储空间不固定,可灵活扩充 2.方便多次的插入和删除,效率较高 单链表 单链表是最常用的链表,其对数据的操作均为单项的,向后查找的。 双向链表 双向链表可以方便地对数据进行向前和向后查找(操作),如播放器正向播放音乐时用户存在上一曲和下一曲的操作需要,此时就用到了双向链 阅读全文
posted @ 2018-07-15 20:42 TateWang 阅读(277) 评论(0) 推荐(0) 编辑
摘要:* 列表用于存放数据量较少的数据结构* 当数据量较大时,不需要对其进行查找、排序的情况下,使用列表也比较方便。 本数据结构在node环境下运行,需要对node有个基本是了解。 1. listSize: 列表长度 2. pos 当前位置 3. getLength 获取列表的长度 4. toString 阅读全文
posted @ 2018-06-19 19:34 TateWang 阅读(1353) 评论(1) 推荐(0) 编辑

Top
点击右上角即可分享
微信分享提示