随笔分类 - JavaScript
摘要:通用的创建单例模式的方法: 1 创建实例对象的职责和管理单例的职责分别放置于两个方法中。 2 两个方法可以互相独立而互不影响。 3 惰性加载单例模式,等到用到的时候才加载。 1 let createSingle = function (fn) { 2 let result; 3 return fun
阅读全文
摘要:npm 包其实又分为:只允许在客户端使用的,只允许造服务端使用的,浏览器/服务端都可以使用。如果我们需要开发一个 npm 包同时兼容支持 web端 和 server 端,需要在不同环境下加载npm包不同的入口文件,显然一个 main 字段已经不能够满足我们的需求,这就衍生出来了 module 与 b
阅读全文
摘要:Service Worker 在2014年,W3C公布了service worker的草案,service worker提供了很多新的能力,使得web app拥有与native app相同的离线体验、消息推送体验。 service worker是一段脚本,与web worker一样,也是在后台运行。
阅读全文
摘要:单例模式 一个类只有一个实例,并提供一个访问它的全局访问点。 1 class LoginForm { 2 constructor() { 3 this.state = 'hide' 4 } 5 show() { 6 if (this.state 'show') { 7 alert('已经显示') 8
阅读全文
摘要:1. 定义 发布-订阅模式其实是一种对象间一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都将得到状态改变的通知。 订阅者(Subscriber)把自己想订阅的事件注册(Subscribe)到调度中心(Event Channel),当发布者(Publisher)发布该事件(Publi
阅读全文
摘要:##1 原型链继承 #### ES6中通过原型继承多个引用类型的属性和方法,由于原型和实例的关系,即每个构造函数都有自己的原型对象,同时原型有一个属性指向构造函数,并且实例有一个内部的指针指向原型。如果存在某原型是另一个类型的实例时,以此类推。便形成了原型链。 -实现原型链的基本代码模式: func
阅读全文