蹦床函数,可以将递归执行转化为循环执行

递归函数:function sum(x, y) {    if (y > 0) {        return sum(x + 1, y - 1)    } else {        return x    }}sum(1, 10000)蹦床函数优化:function tr...

2018-04-19 17:02:05

阅读数:16

评论数:0

ES6新增字符串遍历接口codePoint和获取字符串位置方法

for (let codePoint of 'foo') {  console.log(codePoint)}// 'f'// 'o'// 'o'除了遍历字符串,这个遍历器最大的优点是可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点。'abc'.at(0)    // &...

2018-04-18 11:48:52

阅读数:38

评论数:0

利用解构赋值快速提取JSON的值

let jsonData = {  id: 42,  status: "OK",  data: [323, 333]}let { id, status, data: number} = jsonDataconsole.log(id, status, number...

2018-04-18 10:53:03

阅读数:71

评论数:0

ES6对象的结构赋值题

let {foo: baz} = {foo: "aaa", bar: "bbb"}console.log(baz)    // “aaa”console.log(foo)    // error: foo is not def...

2018-04-17 17:25:38

阅读数:14

评论数:0

高性能JavaScript学习笔记(6)--构建并部署高性能js应用

1、合并js文件减少http请求数2、使用YUI Compressor等压缩工具压缩js文件。3、在服务器端压缩js文件(Gzip编码)。4、通过http响应头来缓存js文件。5、使用CDN。...

2018-04-17 11:02:40

阅读数:6

评论数:0

高性能JavaScript学习笔记(5)--编程实践

1、eval()效率很低,因为每次调用都要创建一个新的解释器/编译器实例。2、setTimeout()和setInterval()建议传入函数而不是字符串来作为第一参数。 例如:      setTimeout(function(){        sum = sum1 + sum2      }...

2018-04-17 10:34:38

阅读数:8

评论数:0

高性能JavaScript学习笔记(4)--Ajax

1、减少请求数,通过合并js和css文件,或者使用MXHR。2、缩短页面加载时间,页面主要内容加载完,再用ajax加载次要文件。3、别让错误代码输出给用户。...

2018-04-17 09:48:49

阅读数:9

评论数:0

高性能JavaScript学习笔记(3)--快速响应的用户界面

1、任何js任务都不应当执行超过100毫秒,过长的运行时间会导致UI更新出现明显延时,影响用户体验。2、定时器时间表示何时添加到UI队列,而不是一定会在这段时间后执行;该任务会等待队列中其他所有任务执行完毕后才会执行。3、定时器可以用来安排代码延迟执行,把长时间任务分解成一系列小任务。4、web ...

2018-04-16 16:26:21

阅读数:8

评论数:0

高性能JavaScript学习笔记(2)--算法和流程控制

1、for-in循环比其他几种循环明显要慢,不要用for-in循环遍历数组成员。2、最小化属性查找,以下方法只需要查找一次items的length属性       for(let i=0,len=items.length; i<len; i++) {           do...

2018-04-16 14:17:33

阅读数:6

评论数:0

高性能JavaScript学习笔记(1)--加载执行、数据存取、DOM编程

1、</body>标签闭合前,将所有的<script>标签放在页底,保证执行前页面已经完成渲染,合并脚本<script>标签越少越好。2、访问字面量和局部变量的速度要...

2018-04-16 11:17:32

阅读数:10

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭