240
每个人都有属于自己的一片森林,也许我们从来不曾去过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢!
摘要: 前言: 继承 是 OO 语言中的一个最为人津津乐道的概念。许多 OO 语言都支持两种继承方式:接口继承 和 实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在 ECMAScript 中无法实现接口继承。 ECMAScript 只支持实现继承,而且其 实现继承 阅读全文
posted @ 2019-04-01 17:18 _gxing 阅读(6305) 评论(0) 推荐(0)
摘要: 一、创建对象的几种方式 1、通过字面量创建 缺点:使用同一个接口创建很多单个对象,会产生大量重复代码 2、通过 工厂模式 创建对象 缺点:工厂模式虽然解决了创建多个相似对象的问题,但没解决对象识别的问题(即怎样知道一个对象的类型)。 3、通过 构造函数 创建对象 缺点:使用构造函数,每个方法都要在每 阅读全文
posted @ 2019-04-01 16:29 _gxing 阅读(525) 评论(0) 推荐(0)
摘要: 图解: 一、普通对象 跟 函数对象 JavaScript 中,一切皆对象。但对象也有区别,分为 普通对象 跟 函数对象,Object 和 Function 是 JavaScript 自带的函数对象。 凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象。 f1,f2,归 阅读全文
posted @ 2019-04-01 14:11 _gxing 阅读(303) 评论(0) 推荐(0)
摘要: 一、概念 Promise,从语法上来讲,它是一个对象,是一个构造函数,可以获取 异步操作 的信息。 简单来讲,就是用同步的方式写异步代码,用来解决回调问题。 二、特点 Promise 对象有两个特点: 1、对象的状态不受外界影响。Promise 对象代表一个异步操作,有三种状态: (1)、pendi 阅读全文
posted @ 2019-03-29 17:15 _gxing 阅读(303) 评论(0) 推荐(0)
摘要: 一、虚拟 DOM (virtual dom) diff 算法首先要明确一个概念就是 diff 的对象是虚拟DOM(virtual dom),更新真实 DOM 是 diff 算法的结果。 注:virtual dom 可以看作是一个使用 JavaScript 模拟了 DOM结构 的树形结构,这个树结构包 阅读全文
posted @ 2019-03-29 13:37 _gxing 阅读(4984) 评论(0) 推荐(0)
摘要: 一、概念 通过改变 URL,在不重新请求页面的情况下,更新页面视图。 二、实现方式 更新视图但不重新请求页面,是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要有2种方式: 1.Hash 利用 URL 中的hash("#"); 2.利用 History interface 在HTML5中 阅读全文
posted @ 2019-03-27 11:23 _gxing 阅读(39849) 评论(1) 推荐(0)
摘要: Keep-alive 是 Vue 的一个内置组件,会缓存不活动的组件实例,防止重复渲染DOM。 一、原理 Vue 的缓存机制并不是直接存储 DOM 结构,而是将 DOM 节点抽象成了一个个 VNode节点。 因此,Vue 的 keep-alive 缓存也是基于 VNode节点 而不是直接存储 DOM 阅读全文
posted @ 2019-03-26 17:18 _gxing 阅读(8141) 评论(0) 推荐(0)
摘要: 一、设计模式 Vue 通过 数据劫持结合发布者-订阅者模式 的方式实现数据的响应式,通过 Object.defineProperty 来劫持数据的 getter、setter,在数据变动时发布消息给订阅者,订阅者收到消息后进行相应的处理。 看下图: 上图共设计到5个概念:data,view,Obse 阅读全文
posted @ 2019-03-26 16:30 _gxing 阅读(353) 评论(0) 推荐(0)
摘要: 一、 执行上下文 for循环开始时,i 作为一个全局变量,每次循环都将 function 放进 arr,但 function 没有执行 循环结束,全局变量 i 的值已经变为了 3,这时再执行函数 function 执行结果 3 3 3 二、 JS运行机制 setTimeout 是异步方法 for 循 阅读全文
posted @ 2019-03-26 11:22 _gxing 阅读(601) 评论(0) 推荐(0)
摘要: 使用场景 在进行获取数据后,需要对新视图进行下一步操作或者其他操作时,发现获取不到 DOM。 原因: 这里就涉及到 Vue 一个很重要的概念:异步更新队列(JS运行机制 、 事件循环)。 Vue 在观察到数据变化时并不是直接更新 DOM,而是开启一个队列,并缓冲在同一事件循环中发生的所有数据改变。 阅读全文
posted @ 2019-03-25 22:55 _gxing 阅读(14148) 评论(0) 推荐(0)