自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除