摘要:
1.二分查找(时间复杂度O(lgn)) 二分查找,需要将业务模拟一个有序数组。然后查找某个值在该数组中的位置。 二分查找的关键是: 1)查找的值一定在某次的范围中间。即使值是最后一个,也要按照二分法的规则去查找。 2)有左右边界的查找范围作为一个循环不变式 2. 二分排序 3. 插入排序(原址排序) 阅读全文
摘要:
1.什么是算法? 算法是一种解决某类问题、具体的、明确无歧义的计算过程。 2.数量级 十进制的指数。 例如: 1500 = 1.5*(10**3)数量级是3,也可以是 “千”,kilo 150万 = 1.5*(10**6) 数量级是6, 也可以是“百万”, ‘million’ 150万比1500大3 阅读全文
摘要:
详细请看阮一峰网站 1.MVC Model(数据) - View(视图) - Controller(业务逻辑) 通信方式:单向 交互方式两种,如下 应用:(BackBone)不完全和设计模式一致 2.MVP Model(数据) - View(视图) - Presenter(业务逻辑) 通信方式: 双 阅读全文
摘要:
阅读全文
摘要:
1.外观模式 外观模式一般用于对复杂底层代码的封装,暴漏一个高级的统一接口,解决一些类似浏览器兼容性的问题。 css内联样式值的获取也存在IE9-的兼容性问题 2. 单例模式 单例模式的应用有两种。 一种是定义命名空间,将某一类或者某一模块的方法放到一个对象中,避免声明的方法变量名称重复,也避免全局 阅读全文
摘要:
1.虚拟DOM(virtual DOM) 我们在render()方法中书写的JSX代码,既有js代码又有html代码,但是实际上浏览器不能识别JSX。 需要通过babel-loader将其转化为js代码。实际上就是转为React中的createElement()方法调用。 该方法返回一个对象,这个对 阅读全文
摘要:
节流和防抖都是为了防止函数调用太快或者太多次。 可视化比较防抖和节流。 1.防抖(debounce) 防抖: 一段时间不活动之后发布更改。 原理: 设置一个定时器和最小间隔时间,如果用户触发在时间间隔内,就清空定时器,重新计时; 用户停止触发,且在最小时间间隔内没有再次触发,则发布更改。 分类: 防 阅读全文
摘要:
在函数式编程中,函数柯里化是指将接受多个参数的函数转为接受不定个数参数的高阶函数。 从功能上说,它实现了函数功能的细化。 1. 背景基础知识 1)函数的length属性--返回定义时的函数参数个数 es6中,函数参数可以设置默认值,length属性指的是未设置默认值的参数个数,设置了默认值的参数后面 阅读全文
摘要:
Function.prototype.call(),Function.prototype.apply(),Function.prototype.bind() 是三种改变函数内部this指向(即函数执行时所在作用域)的方法。 1.Function.prototype.call(thisValue, p 阅读全文
摘要:
setTimeout和setInterval都是异步任务,会进入异步任务队列。 等待所有的同步任务执行完成后,才有可能执行。 1.setTimeout 1)第一个参数 2) 第二个参数 3)第三个及之后的参数 4) 返回值和clearTimeout 5) 关于this 6)应用 防抖动 改变代码的执 阅读全文