摘要:
start 基于 koa 2.11 按以下流程分析: app.use() use 方法定义在 中: this.middleware 这就是一个数组,用来存放所有中间件,然后按顺序执行。 app.listen() 这个方法定义在 中: this.callback() this.handleReques 阅读全文
摘要:
前言 基于 vuex 3.1.2 按如下流程进行分析: Vue.use(Vuex) Vue.use() 会执行插件的 install 方法,并把插件放入缓存数组中。 而 Vuex 的 install 方法很简单,保证只执行一次,以及使用 applyMixin 初始化。 applyMixin 方法定义 阅读全文
摘要:
渲染过程 浏览器渲染过程如下: 1. 解析 HTML,生成 DOM 树,解析 CSS,生成 CSSOM 树。 2. 将 DOM 树和 CSSOM 树结合,生成渲染树(Render Tree)。 3. Layout(回流): 根据生成的渲染树,进行回流(Layout),得到节点的几何信息(位置,大小) 阅读全文
摘要:
前言 javascript 的 this 指向主要是依赖上下文对象决定,箭头函数例外。 默认绑定 在全局作用域下调用函数,函数的 默认指向 。 注意1:严格模式下,默认指向 注意2:全局作用域下 声明的变量会默认绑定到 ,而 、`const`声明的变量不会 隐式绑定 当函数引用有上下文对象时, 隐式 阅读全文
摘要:
总是把这两个当作同一个模式,但其实是不太一样的,现在重温一下。 观察者模式 观察者直接订阅目标,当目标触发事件时,通知观察者进行更新 简单实现 js class Observer { constructor(name) { this.name = name; } update() { console 阅读全文
摘要:
前言 最近在做 webapp,遇到了很多移动端兼容的问题,其中一个问题就是:输入框触发 focus 后,键盘弹出,然后遮住了输入框。 然后在 和`IOS`上,这个问题的表现形式不一样,而原生键盘和第三方键盘也不一样,但引起的问题都是一样的:输入框被遮住了。 需要的效果 在键盘弹出时,获得焦点的输入框 阅读全文
摘要:
"demo 代码点此" ,webpack4 中通过 "css loader" 开启 css 模块化, 开始前先做点准备工作。 不了解 css 模块化的,可以前往查看 "github_css_modules" . 准备工作 安装 webpack: 创建 webpack.config.js 进行配置: 阅读全文
摘要:
Daily ,一个 写的 android app 。 下拉刷新获取:图片、诗句、言语、音乐、乐评、雨声、知乎日报、历史上的今天。 可以说是一个 入门级 的 应用。 "项目地址:https://github.com/imguolao/Daily" 效果预览 第三方 api 项目中的数据均来源于第三方 阅读全文
摘要:
strat javascript 的类型转换一直是个大坑,但其实它也减少了代码量。 ToPrimitive Symbol.toPrimitive 是一个内置的 Symbol 值,它作为对象的函数值属性存在,当一个对象转换为原始值时,会调用此函数。 该函数被调用时,会被传递一个字符串参数 hint , 阅读全文
摘要:
"demo 代码点此" ,webpack4 进行 code splitting 使用 "split chunks plugin" , 开始前先做点准备工作。 start 安装: 创建 webpack.config.js 进行配置: 创建 index.js : 打包终端执行 进行打包,打开 dist 阅读全文