防抖 前言 在前端开发中会遇到一些频繁的事件触发,比如: window 的 resize、scroll mousedown、mousemove keyup、keydown 为此,我们举个示例代码来了解事件如何频繁的触发: 我们写个 index.html 文件: debounce.js 文件的代码如下: 我们来看看效果: 从左边滑到右边就触发了 165 次 getUserAction 函数! 因为这个例子很简单,所以浏览器完全反应的过来,可是如果是复杂的回调函数或是 ajax 请求呢?假设… »
从原型到原型链 构造函数创建对象 我们先使用构造函数创建一个对象: 在这个例子中,Person 就是一个构造函数,我们使用 new 创建了一个实例对象 person。 很简单吧,接下来进入正题: prototype 每个函数都有一个 prototype 属性,就是我们经常在各种例子中看到的那个 prototype ,比如: 那这个函数的 prototype 属性到底指向的是什么呢?是这个函数的原型吗? 其实,函数的 prototype… »
Service Worker 以其 和 两个特点,决定了针对它的更新操作必须非常谨慎小心。因为它具有拦截并处理网络请求的能力,因此必须做到网页(主要是发出去的请求)和 Service Worker 版本一致才行,否则就会导致新版本的 Service Worker 处理旧版本的网页,或者一个网页先后由两个版本的 Service Worker 控制引发种种问题。 前置知识 SW 的作用 SW 的注册方式 (navigator.serviceWorker.register) SW… »
JavaScript 原生 js 系列 JavaScript 深入系列、JavaScript 专题系列、ES6 系列 完全熟练掌握 eventLoop tasks-microtasks-queues-and-schedules Promise 你需要阅读 Promise A+规范,注意其中的细节,并且灵活的运用到开发当中去。 Promise A+ 英文文档 你需要跟着精品教程手写一遍 Promise… »
HTML 篇 HTML5 语义化 html5 语义化标签 CSS 篇 CSS 常见面试题 50 道 CSS 经典面试题 能不能讲一讲 Flex 布局,以及常用的属性? 阮一峰的 flex 系列 BFC 是什么?能解决什么问题? 什么是 BFC?什么条件下会触发?应用场景有哪些? JS 基础篇 讲讲 JS 的数据类型? 最新的 ECMAScript 标准定义了 8 种数据类型: 6 种原始类型 Boolean Undefined Number BigInt String Symbol null… »