1、css文件在head标签中引入,保证在渲染结构的时候进行样式渲染
2、Js文件放在body的底部,确保在渲染dom树的时候不会出现js阻塞
3、函数内的变量是访问速度最快的,全局变量的访问速度是最慢的,减少全局变量的访问
4、函数中使用多次全局变量的时候可以把全局变量赋值给一个新的局部变量
5、闭包会影响内存和性能,减少不必要的闭包函数的使用
6、尽量避免使用对象成员,使用的话同一个函数中避免多次引用对象成员
7、ECMAscript和DOM是两个独立的部分,每次访问都会造成性能的损耗,所以要减少访问DOM的次数
8、选择合适的选择器能提高性能
9、减少会导致重绘和重排版的操作,将多个DOM操作改变合并到一个批次中一次性执行
10、当需要对DOM元素进行多次修改时,一、摘除元素,二、进行修改,三、将元素放回文档,这样只会引发两次重排版
11、减少对布局信息的查询次数,如果需要使用变量
12、重排版的部分越小执行速度越快,大部分的重排版执行时可能出现卡顿
13、使用事件托管的方式
14、for-in循环比其他三种循环开销要大,非必要是不适用for-in
15、Js在运行时会停止线程中的任务,所以js运行任务要尽快结束以免对用户体验造成影响
16、调查发现单个js操作运行的时间最大是100ms,否则算是运行慢的了
17、使用定时器将长时间的js执行脚本成为较短的片段
18、将一个运行时间较长的任务分解成多个小任务
19、多个定时器被同时间创建会影响性能,同一时间只存在一个定时器才不会带来性能问题
20、根据项目需求选择正确的数据格式和与之对应的传输技术
21、尽量使用json轻量的数据形式,XML冗长且解析缓慢
22、创建新对象和新数组的时候使用直接量比非直接量形式创建和初始化更快
23、原生方法总是比JavaScript写的东西要快,尽量使用原生方法
24、合并js文件,减少HTTP请求的数量
25、使用YUI压缩器紧凑处理js文件
26、使用CDN提供js文件,提供性能,管理压缩和缓存
27、使用性能分析器找出脚本运行时慢的部分,并对其进行优化

《高性能javascript》随笔的更多相关文章

  1. "笨方法学python"

    <笨方法学python>.感觉里面的方法还可以.新手可以看看... 本书可以:教会你编程新手三种最重要的技能:读和写.注重细节.发现不同.

  2. 笨方法学python 22,前期知识点总结

    对笨方法学python,前22讲自己的模糊的单词.函数进行梳理总结如下: 单词.函数 含义 print() 打印内容到屏幕 IDLE 是一个纯Python下自带的简洁的集成开发环境 variable ...

  3. 《笨方法学python》随笔

    字符串 字符串可以包含格式化字符%s,只要将格式化的变量放到字符串中,再紧跟着一个百分号 %(percent), 再紧跟着变量名即可.唯一要注意的地方是, 如果你想要在字符串中通过格式化字符放入多个变 ...

  4. LPTHW 笨方法学python 19章

    本章节,我只是把所有的输出加上了自己的注释. #!/usr/bin/env python # -*- coding:utf-8 -*- def cheese_and_crakers(cheese_co ...

  5. 笨方法学python 33课

    今天Eiffel看到了第33章,任务是把一个while循环改成一个函数. 我在把while循环改成函数上很顺利,但是不知道怎么写python的主函数,在参数的调用上也出现了问题. 通过查资料,发现py ...

  6. 《笨方法学Python》加分题32

    注意一下 range 的用法.查一下 range 函数并理解它在第 22 行(我的答案),你可以直接将 elements 赋值为 range(0, 6) ,而无需使用 for 循环?在 python ...

  7. 《笨方法学Python》加分题33

    while-leep 和我们接触过的 for-loop 类似,它们都会判断一个布尔表达式的真伪.也和 for 循环一样我们需要注意缩进,后续的练习会偏重这方面的练习.不同点在于 while 循环在执行 ...

  8. 《笨方法学Python》加分题28

    #!usr/bin/python # -*-coding:utf-8-*- True and True print ("True") False and True print (& ...

  9. 《笨方法学Python》加分题20

    加分练习通读脚本,在每一行之前加注解,以理解脚本里发生的事情.每次 print_a_line 运行时,你都传递了一个叫 current_line 的变量,在每次调用时,打印出 current_line ...

  10. 《笨方法学Python》加分题17

    题目通过前学习的文件操作把一个文件中的内容拷贝到另一个文件中,并使用 os.path.exists 在拷贝前判断被拷贝的文件是否已经存在,之后由用户判断是否继续完成拷贝. 新知识os.path.exi ...

随机推荐

  1. 使用adb 命令(atrace)抓起systrace的方法。

    adb shell atrace -c -b --async_start -z gfx 1. 执行查看adb shell atrace 功能 atrace --h atrace: invalid op ...

  2. woocommerce分类页产品数量修改

    我们用woocommerce建商城,不同的模板分类页产品数量不同,如果想要显示更多或更少的数量要如何修改呢?很简单,一行代码就能搞定!打开当前主题的function.php文件,加入如下代码,把18改 ...

  3. 达信:深度解读COSO新版企业风险管理框架(ERM)

    http://www.sohu.com/a/124375769_489979 2016年6月,美国反欺诈财务报告委员会(The Committee of Sponsoring Organization ...

  4. #51nod上topcoder练习记

    好久没刷51nod了,又听说topcoder有很多好题.那么就来51nod上刷吧.(那个客户端搞得有点烦(看不懂)) [1366 贫富差距] 当图不连通的时候,答案为无穷大. 当图连通时,两个点之间的 ...

  5. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于(GPRS模块AT指令TCP透传方式),定时访问升级(兼容Air202,SIM800)

    实现功能概要 单片机定时使用http访问云端的程序版本, 如果版本不一致,然后通过http下载最新的升级文件,实现远程升级STM32. 兼容Air202,SIM800 测试准备工作(默认访问我的服务器 ...

  6. Dijkstra单源点最短路径算法

    学习参考: Dijkstra算法(单源最短路径) 最短路径—Dijkstra算法和Floyd算法 使用的图结构: 邻接矩阵: -1 20 -1 25 80-1 -1 40 -1 -1-1 -1 -1 ...

  7. Python内置函数---ord()

    描述: ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCI ...

  8. python3 获取日期时间

    #!/usr/bin/python3 import time # 格式化成2016-- ::39形式 print (time.strftime("%Y-%m-%d %H:%M:%S" ...

  9. Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!

    Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用 Spring Boot 某些类的自动化配置了. 比如:数据 ...

  10. Java四则运算——图形化界面

    一.前提 (1)作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213 (2)GitHub地址:https://github ...