高性能javascript笔记

第一章:加载和执行

1、把脚本放在页面底部。

2、减少外链请求,下载单个100kb的文件比下载4个25kb的文件速度更快,原因是建立http请求需要花费时间和性能开销(雅虎YUI interface libarary)线上合并文件

3、script标签defer属性,告诉浏览器此段js代码不会修改dom,可以延长加载,async和defer都是同步加载js标签

4、动态创建脚本,可以成为最通用的无加载解决方案

5、XMLHttpRequest脚本注入

5、github源码/rgrove/lazyload/, loadScript增强版本,,,还有LABjs

第二章:数据存取

1、尽量使用局部变量,减少全局变量的使用,假如某个全局变量访问超过一次以上 ,那就把它用局部变零存起来。

2、改变作用域链,with和catch语句,尽量减少使用。

第三章:DOM 编程

js和dom是独立的两座岛屿,想要简历连接,必须搭建一座桥,而这座桥又需要收费,导致操作dom的代价比较高。

减少dom的操作,尽量把运算放在js端。

老版浏览器innerHTML 比 document.createElement() 更快。新版后者快

批量修改样式比如cssText或者定义一个class,后者更好维护。

第四章:算法和流程控制

第五章:字符串和正则表达式

1、str+= "one" + "two"的性能低于  str = str + "one" + "two"

第六章: 快速响应的用户界面

1、使用定时器让出时间片段

2、web worker  (单似乎这个东西没什么人用),实际应用场景是纯数据和ui界面无关。比如解析超级大的json: 

第七章: ajax

1、get请求的数据会被缓存起来。

第八章:编程实践

1、避免双重求值,即不使用eval和Function,setTimeout和setInterval参数传入函数

2、使用Object/Array直接量

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三木森森の

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值