- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 JavaScript执行机制 --事件循环
1.关于javascriptjavascript是一门 单线程 语言,在最新的HTML5中提出了Web-Worker,但javascript是单线程这一核心仍未改变。所以一切javascript版的"多线程"都是用单线程模拟出来的,一切javascript多线程都是纸老虎!2.JavaScript 事件循环 Event Loopjavascript 上任务分为两种,分别为同步任务和异步任务。...
2019-03-27 14:57:30
282
原创 前端性能优化- 防抖(debounce)与节流(throttle)
应用场景监听滚动事件(scroll) 频繁触发事件,操作DOM,大量计算鼠标移动事件(mousemove)监视窗口大小 resize事件onkeyup事件,获取服务器资源如果回调函数 涉及大量计算,或者获取服务器资源时,频繁触发会触发会导致响应跟不上,页面卡死、卡顿现象。针对这种短时间内连续触发、不可控制的问题。可以使用防抖和节流这两个策略来解决。防抖定义当事件被触发时,设定...
2019-03-26 10:22:48
641
原创 js中数组API的应用
扁平化n维数组 // ES10 中 flat方法 /* 此功能某些浏览器尚在开发中 由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。*/ [1,2,[3,4]].flat(2); // [1,2,3,4] [1,2,[3,4,[5,6]]].flat(2); //[1,2,3,4,5,6];[1,2,[3,4,[5,6,[7...
2019-03-21 10:25:13
412
原创 es5与es6中面向对象的实现
在es5中实现面向对象 即通过构造函数和远行对象来实现 /*es5 之前面向对象==============*/ //定义对象 通过构造函数来实现类 function Person(name,age){ this.name = name; this.age = age; } //添加方法 通过原型来添加方法 Person.prototype...
2019-03-15 14:13:29
412
原创 js设计模式--桥接模式
按GoF的定义,桥接模式的作用在于 “将抽象与其实现隔离开来,以便二者独立变化”;常见的应用场景: JavaScript中的事件回调示例:事件监听器单击某个元素 去获取商品的信息;实现方式如下:addEvent(element,'click',getProductById);function getProductById(e){ var id = this.id; asy...
2019-03-14 14:30:10
159
原创 js设计模式--工厂模式
简单工厂模式 /*BicycleFactory 用来创建子对象*/ var BicycleFactory = { createBicycle: function(model){ var bicycle; switch(model){ case 'type1': bicycle = new Speedster(); ...
2019-03-13 11:06:59
130
原创 js设计模式---单体模式
单体模式:提供了将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码通过单一的变量进行访问。用途: 可以用来划分命名空间,减少网页中的全局变量的数量基本结构: var Singleton ={ attribute1:true, attribute2: 12, method1: function(){ }, m...
2019-03-13 09:45:42
195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人