240 发简信
IP属地:广东
  • 事件队列

    起因:js单线程,所有任务需要排队,但遇到耗时的操作(网络请求),就会堵塞后续的任务解决:将耗时的操作放到异步任务队列,先执行同步的任务,等异步任务完成之后,通知主线程,再去...

  • 浏览器架构

    主要架构 The User Interface主要提供用户与Browser Engine交互的方法。 The Browser Engine协调(主控)UI和the Rende...

  • web安全

    csrf(Cross-site request forgery)跨站请求伪造 原理: 网站对用户的信任(比如用户在知乎登录成功,用户发请求带上token,后台就会通过) 欺骗...

  • 生命周期

    组件实例化 beforeCreate此时数据还不是响应式,更新 data 数据是无效的,也无法访问 DOM。 数据观测 (data observer) 计算属性、方法、wat...

  • Vue

    一、为什么要有MVVM 在框架出现之前: 数据更新或视图更新之后,需要开发者主动去使用 DOM api 去修改或查询 DOM 同样的数据映射到不同的视图时,需要重写一套代码逻...

  • 项目优化

    资源压缩 代码合并压缩 图片压缩 加载优化 ssr 首屏渲染,减少屏幕因为数据加载而闪动 懒加载loading占位图,图片加载之后再替换,避免影响页面布局滚动加载,在内容即将...

  • Vuex

    Vuex Vuex的核心是store,store包含着state(状态)、getter(计算属性)、mutation(事件)、action(异步操作);Vuex类似一个全局变...

  • 类型转换

    数据类型5 种基本数据类型:Undefined、Null、Boolean、Number、String1 种复杂数据类型:Objecttypeof 对于不同的数据类型,返回以下...

  • 对象/原型/继承

    对象属性 一、属性类型ECMAScript 中有数据属性和访问器属性两种属性,各有 4 个描述其行为的特征,其中两种属性都有的特性是: [[configurable]] 默认...

  • 防抖

    主要是为了避免在频繁的操作中导致页面的卡顿,因此将短时间内多次的操作合并为一次。 但是,有时候需要需要立刻执行,因此做一下修改

  • 模块化

    三种模块化 es6: import / export;浏览器中主要使用 commonjs: require / module.exports / exports;Node.j...

  • chrome dino 外挂

    Chrome浏览器在没有联网的时候,可以玩一个恐龙跳障碍的小游戏,可能很多人都玩过(地址:chrome://dino/),昨天听一个朋友说起可以用js给这个游戏写一个外挂,在...

  • cluster

    一个cluster集群小demo

  • Promise

    更新 最近看到一个实现,讲得更加清晰,于是重新实现了一遍 原文 之前看到朋友实现了一个promise,觉得挺好玩的,心中跃跃欲试,于是近期看了一些文章,自己也跟着实现了一遍,...

  • koa中间件

    第一次是写中间件,是写一个设置灰度的中间件,当时写完挺有成就感的,今天特意去看了一下koa的源码,了解了request,中间件和response到底是怎么组织的,其中我觉得关...