摘要: 栈 先来看一道题 Leetcode 32 Longest Valid Parentheses (最长有效括号) 给定一个只包含 和 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 示例 2: 这道题可以用动态规划来做,也能用简洁明了的栈来解决。 什么是栈? 栈是一种先进后出(LIFO)的阅读全文
posted @ 2019-01-16 21:07 郭佬 阅读(28) 评论(2) 编辑
摘要: 数组乱序 顾名思义,数组乱序就是把数组存储的值的顺序都打乱。 Fisher–Yates shuffle 著名的 "洗牌算法" ,原理就是遍历数组元素,将当前元素与随机抽取的一个剩余元素进行交换。 下列表格遍历元素是从后往前: | 随机数范围 | 随机数 | 原始数据 | 结果 | | : : | :阅读全文
posted @ 2018-12-25 13:57 郭佬 阅读(67) 评论(0) 编辑
摘要: 数组扁平化 1. 什么是数组 扁平化 ? 数组扁平化就是将一个多层嵌套的数组 (Arrary) 转化为只有一层。 2. 递归实现 思路是先循环数组,遇到嵌套就递归。 javascript function flatten(arr) { let res = []; for (let i=0; i re阅读全文
posted @ 2018-12-21 12:45 郭佬 阅读(64) 评论(0) 编辑
摘要: 函数柯里化 1. 柯里化 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。 简单来说,就是固定一些参数,返回一个接受剩余参数的函数。 其实就是使用闭包返回一个延迟执行函数。 只看文字阅读全文
posted @ 2018-12-19 16:26 郭佬 阅读(54) 评论(0) 编辑
摘要: 防抖节流 1. 防抖 (debounce) 先来看看下面的代码: javascript //触发滚动事件,num 就加1 let num = 0; function incNum() { console.log('鼠标滚动中'); console.log( ); } window.addEventL阅读全文
posted @ 2018-12-13 12:31 郭佬 阅读(54) 评论(0) 编辑
摘要: 事件委托 1. 事件流 事件流描述的是从页面中接收事件的顺序。 JS高级程序设计(第3版) 规定的事件流有三个阶段:①事件 捕获 阶段、②处于 目标 阶段、③事件 冒泡 阶段 2. 事件委托 当需要添加的事件过多时,可以使用 事件委托 ,而事件委托实际上利用了事件 冒泡 的特性。 使用事件委托还需了阅读全文
posted @ 2018-12-08 16:27 郭佬 阅读(48) 评论(0) 编辑
摘要: RegExp (包含ES2018新特性) 注意:本次所有代码都仅在Chrome 70中进行测试 1. 正则表达式是什么? 正则表达式是用于匹配字符串中字符组合的模式。(mdn) 简单来说,正则表达式是用来提取、捕获文本的。 2. 创建: 字面量: 构造函数: 3. 实例属性: 每个正则表达式实例都拥阅读全文
posted @ 2018-11-22 22:19 郭佬 阅读(149) 评论(0) 编辑
摘要: 1.XMLHttpRequest对象 创建XHR对象:let xhr = new XMLHttpRequest(); open():启动一个请求准备发送 open()接收3个参数:请求类型('GET'、'POST')、请求的URL、是否异步发送请求(true or false)。 send():发送阅读全文
posted @ 2018-11-06 21:33 郭佬 阅读(89) 评论(0) 编辑
摘要: 一、盒模型 一个web页面由许多html元素组成,而每一个html元素都可以表示为一个矩形的盒子,CSS盒模型正是描述这些矩形盒子的存在。 MDN的描述: When laying out a document, the browser's rendering engine represents ea阅读全文
posted @ 2018-05-25 14:35 郭佬 阅读(574) 评论(0) 编辑
摘要: 关于CSS position,来自MDN的描述: CSS position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left 属性则决定了该元素的最终位置。 然后来看看什么是文档流(normal flow),下面是 www.w3.org 的描述: Normal flo阅读全文
posted @ 2018-05-16 21:36 郭佬 阅读(1470) 评论(1) 编辑
我终究成长为一个不特别的人