- 博客(8)
- 收藏
- 关注
原创 蹦床函数,可以将递归执行转化为循环执行
递归函数:function sum(x, y) { if (y > 0) { return sum(x + 1, y - 1) } else { return x }}sum(1, 10000)蹦床函数优化:function trampoline(f) { while (f && f ins...
2018-04-19 17:02:05 326
原创 利用解构赋值快速提取JSON的值
let jsonData = { id: 42, status: "OK", data: [323, 333]}let { id, status, data: number} = jsonDataconsole.log(id, status, number)// 42, "OK", [323, 333]
2018-04-18 10:53:03 2713
原创 高性能JavaScript学习笔记(6)--构建并部署高性能js应用
1、合并js文件减少http请求数2、使用YUI Compressor等压缩工具压缩js文件。3、在服务器端压缩js文件(Gzip编码)。4、通过http响应头来缓存js文件。5、使用CDN。...
2018-04-17 11:02:40 117
原创 高性能JavaScript学习笔记(5)--编程实践
1、eval()效率很低,因为每次调用都要创建一个新的解释器/编译器实例。2、setTimeout()和setInterval()建议传入函数而不是字符串来作为第一参数。 例如: setTimeout(function(){ sum = sum1 + sum2 })3、“避免无谓的工作”4、懒加载、预加载5、位运算性能优势明显。 例如下面的按位与比上面快百分50%...
2018-04-17 10:34:38 96
原创 高性能JavaScript学习笔记(4)--Ajax
1、减少请求数,通过合并js和css文件,或者使用MXHR。2、缩短页面加载时间,页面主要内容加载完,再用ajax加载次要文件。3、别让错误代码输出给用户。...
2018-04-17 09:48:49 108
原创 高性能JavaScript学习笔记(3)--快速响应的用户界面
1、任何js任务都不应当执行超过100毫秒,过长的运行时间会导致UI更新出现明显延时,影响用户体验。2、定时器时间表示何时添加到UI队列,而不是一定会在这段时间后执行;该任务会等待队列中其他所有任务执行完毕后才会执行。3、定时器可以用来安排代码延迟执行,把长时间任务分解成一系列小任务。4、web Works是新版浏览器支持的特性,允许在UI线程外执行js代码,避免锁定UI。...
2018-04-16 16:26:21 113
原创 高性能JavaScript学习笔记(2)--算法和流程控制
1、for-in循环比其他几种循环明显要慢,不要用for-in循环遍历数组成员。2、最小化属性查找,以下方法只需要查找一次items的length属性 for(let i=0,len=items.length; i<len; i++) { dosomthing() } 倒序可略微提高性能(前提是不影响业务流程): for(let...
2018-04-16 14:17:33 115
原创 高性能JavaScript学习笔记(1)--加载执行、数据存取、DOM编程
1、</body>标签闭合前,将所有的<script>标签放在页底,保证执行前页面已经完成渲染,合并脚本<script>标签越少越好。2、访问字面量和局部变量的速度要比访问数组和对象快。3、嵌套对象成员(链式操作)会影响性能。属性和方法在原型链中位置越深速度越慢。4、尽量减少操作DOM次数。留意重绘和重排,合理使用绝对定位和事件委托,使用更快API,例如quer...
2018-04-16 11:17:32 129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人