笔记
文章平均质量分 74
all_imagination
这个作者很懒,什么都没留下…
展开
-
防抖 & 节流
开始防抖节流是前端性能优化的一种手段之一,它们的目的都是防止某一事件一段时间内频发触发,但是两者的原理不一样。根据上图,我们也可以很清晰地看到他们的原理,总结如下:防抖:事件触发 n 秒后执行它的回调函数,如果 n 秒内重新触发,那么重新计时。节流: n 秒内只执行一次事件防抖基于上述的定义,我们可以很快地写出第一版的代码const debounce = function (fn, delay = 3000) { let timer = null // 闭包引用 re原创 2022-02-17 12:52:24 · 389 阅读 · 0 评论 -
Generator 函数的语法
文章目录Generator基本概念yield表达式与 Iterator 接口的关系next 方法的参数for...of 循环Generator.prototype.throw()Generator.prototype.return()yield* 表达式Generator 函数的 thisGenerator基本概念形式上,Generator 函数是一个普通函数,但是有两个特征。一是,fu...转载 2020-03-22 17:03:28 · 237 阅读 · 0 评论 -
Iterator和 for...of 循环
文章目录Iterator 的概念Iterator 的概念遍历器(Iterator就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。...转载 2020-03-22 09:17:58 · 276 阅读 · 0 评论 -
Promise介绍
文章目录Promise含义基本用法Promise.prototype.then()Promise.prototype.catch()Promise.prototype.finally()Promise.all()Promise.race()Promise含义Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写...原创 2020-03-19 18:12:58 · 340 阅读 · 0 评论 -
Symbol
文章目录// Symbol函数的参数只是表示对当前 Symbol 值的描述,因此相同参数的Symbol函// 数的返回值是不相等的。// 没有参数的情况let s1 = Symbol();let s2 = Symbol();s1 === s2 // false// 有参数的情况s1 = Symbol('foo');s2 = Symbol('foo');s1 === s2 ...转载 2020-03-15 23:02:35 · 85 阅读 · 0 评论 -
ES6对象
文章目录属性的简洁表示法属性名表达式方法的 name 属性属性的可枚举性和遍历super 关键字扩展运算符链判断运算符null判断运算符属性的简洁表示法ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。const foo = 'bar';const baz = {foo};baz // {foo: "bar"}// 上面代码中,变量f...转载 2020-03-15 17:45:22 · 335 阅读 · 0 评论 -
set / map结构
文章目录set 结构基本用法set 结构基本用法Set本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。const set = new Set([1, 2, 3, 4, 4])// [...set] = [1, 2, 3, 4] =>...转载 2020-03-15 01:04:52 · 234 阅读 · 0 评论 -
数组的扩展
文章目录扩展运算符扩展运算符的应用Array.from()扩展运算符// 扩展运算符(spread)是三个点(...)。//它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1, 2, 3], 4) // => 1 2 3 4 ---------------------------------------------------...转载 2020-03-14 15:23:40 · 92 阅读 · 0 评论 -
Es6函数的扩展
文章目录基本的用法与结构赋值默认值的结合使用函数的 length 属性作用域rest 参数箭头函数(比较重要)尾调用优化基本的用法ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。function log(x, y = 'World') {}// 这里 y 的默认值为 'World'log('hello'...转载 2020-03-13 16:17:10 · 85 阅读 · 0 评论 -
Es6字符串的扩展
文章目录字符串的遍历器接口字符串的遍历器接口ES6 为字符串添加了遍历器接口,使得字符串可以被for…of循环遍历。除了遍历字符串,这个遍历器最大的优点是可以识别大于0xFFFF1的码点,传统的for循环无法识别这样的码点。var arr = []// 不需要再定义循环变量就可以直接遍历数组for (let call of 'better'){ arr.push(call)...转载 2020-03-09 00:06:34 · 75 阅读 · 0 评论 -
变量的解构赋值
文章目录数组解构赋值基本用法默认值对象解构赋值基本用法默认值函数参数的解构赋值圆括号的使用应用数组解构赋值基本用法ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值如果解构不成功,变量的值就等于undefined。let [a, b, c] = [1, 2, 3] // a...原创 2020-03-06 17:53:20 · 118 阅读 · 0 评论 -
let/count命令
文章目录let命令局部有效性不能重复定义不存在变量提升暂时性死区const 命令基本用法let命令局部有效性ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。什么意思呢?下面我来详细介绍一下。varfor (var b=0; b<10; b++){ console.log(b)}console.log(b...原创 2020-03-06 12:58:48 · 1537 阅读 · 0 评论 -
前端--请求数据
文章目录HTTPHTTP我们在实际应用中请求数据离不开HTTP,那么HTTP是什么?HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头...原创 2020-02-19 14:46:33 · 2349 阅读 · 0 评论 -
flex布局
文章目录flex布局是什么?属性介绍flex-directionflex布局是什么?Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。行内元素也可以使用Flex布局。/*块级元素*/.header{ display: flex;}/*行内元素*/.header{ display:...原创 2020-02-10 19:54:48 · 407 阅读 · 0 评论 -
Have Fun with Numbers
Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number con...原创 2020-01-20 14:45:07 · 201 阅读 · 0 评论