看到网易云讲到写一个缓存机制,什么时候用缓存机制,当有大量重复计算的时候,计算的难度不是很简单,如果是很简单的计算不要用缓存机制,不然会浪费大量的性能

在取HTMLCollection对象时,通常循环时直接这样写

for (var i = 0; i < myarray.length; i++) {

}但是 集合的麻烦在于它们实时查询基本文档(HTML页面)。这意味着每次你访问任何集合的长度,你要实时查询DOM,而DOM操作一般都是比较昂贵的。所以我们可以用缓存的机制来减小性能的开销、
 max = myarray.length 只用获取一次

就是在写的过程中,要遵循单一变量原则,这样代码易维护

代码的规范

1 可读性
  命名 
    常量命名全部大写,可以用_分开
    函数命名大驼峰
    临时变量命名下划线开头,全部小写
    属性方法命名用小驼峰
  注释 
  格式
    缩进跟换行 
    当传递一堆属性时,可以进行适当的换行
2 性能层面优化
    能不用全局对象就尽量别用,用了要注意释放(arr=undefined 或arr=null) 
    不要频繁从对象取属性,可以适当缓存
    尽量减少循环里面的计算(就是当arr.length 取长度时,可以把这个长度缓存下来,而不是 i<arr.length)
    读取变量尽量从最近的作用域读取
      (function(window){ })(); 
      为什么要传window,不用传函数里面也能读到,传了是因为能够减少找变量的消耗
      算法与缓存 
3.架构层面
    保持高内聚低
    代码可维护性跟扩展性
      JQ很好的扩展性跟模块互相独立

 

以后发现不断补充

转载于:https://www.cnblogs.com/Dainney/p/11087131.html

看网易云公开课代码性能开发有感,怎样提高代码的性能相关推荐

  1. 斯坦福大学公开课:iPhone开发教程2010年冬

    2019独角兽企业重金招聘Python工程师标准>>> 斯坦福大学公开课:iPhone开发教程2010年冬 http://v.163.com/special/opencourse/i ...

  2. 微信小程序仿网易云音乐(使用云开发,提供源码)

    微信小程序仿网易云音乐(使用云开发,提供源码)!!!!!!!!!!! 源码: 链接:https://pan.baidu.com/s/1z_ZnRVbT4vjEENimi8yBQQ 提取码:u0o3 一 ...

  3. 中国央视网---中国公开课

    中国央视网---中国公开课 特别的棒!!! 转载于:https://www.cnblogs.com/azbane/p/8630622.html

  4. [干货教程]仿网易云课堂微信小程序开发实战经验

    本篇文章想跟大家分享下:我们公司"湖北诚万兴科技"最近刚帮客户定制开发.目前已上线的"哎咆课堂"微信小程序的开发经验分享.首先大概介绍下这个小程序所涉及到的主要 ...

  5. 写点看Harvard CS50 公开课的感受

    Harvard University,世界顶级大学,对于来自普通院校的我来说,真是太具有吸引力了,而我也"愿意"为她蒙上一层厚厚的神秘的面纱,我真的愿意.我很幸运能有机会" ...

  6. 看网易云音乐安卓客户端使用到的技术

    开头废话 想必大家平时在学习的过程中应该多多少少会想了解:大公司(或者说主流的APP)都在使用哪些技术?有哪些我们还没听过.不了解的技术?今天就花点时间来讨论讨论这事~ ClassyShark 先推荐 ...

  7. 一文看懂微信公开课Pro,2022年微信将迎来什么变化?

    1月6日上午,2022微信公开课Pro在广州举行.就在三天前,微信刚刚发布了8.0.18(2040)内测版本,据了解,该版本虽然变动不大,但安装包体积大小再创新高,达到了234MB. 这款由腾讯公司于 ...

  8. 哈佛大学公开课:计算机科学cs50 学习笔记及代码练习(第8集:冒泡,选择排序,递归)

    0. 前言 这门课讲的排序相当清楚,老师用很容易懂的方式讲原理,代码部分在linux下写,用gdb调试,这才是编程的学习方法.记得以前国内本科也学过,但根本没讲清楚.现在研究生又听这门公开课,发现把原 ...

  9. 看网易云音乐如何靠户外广告红遍网络?

    作者:户外决策 最近你也许在刷朋友圈或是微博的时候看过这么一条:3月20日,网易云音乐和杭港地铁联合推出的"乐评专列"正式发车.网易云音乐精选了点赞数最高的5000条优质乐评,印满 ...

最新文章

  1. ubuntu16.06+vsftpd+nginx搭建图片服务器
  2. python函数概述_Python概述
  3. 阿里P9架构师讲解从单机至亿级流量大型网站系统架构的演进过程
  4. 我的MVP,来的那么“糊涂”(2009.4)
  5. Libnids库-网络入侵检测的基础框架
  6. leetcode 171. Excel表列序号
  7. python打开excel进行编辑_使用Python进行Excel文件处理
  8. 史上最全亚历山大大帝名言
  9. ASP.NET Core Web API下事件驱动型架构的实现(二):事件处理器中对象生命周期的管理
  10. Java标识符与命名规则
  11. 第41章 实施数据库审计
  12. 骁龙845重出江湖!iQOO Neo正式发布 售价1798元起
  13. 中fuse_一种用于将mRNA快速转染到活细胞细胞质中的融合试剂
  14. 1.啊哈!算法 --- 一大波数正在靠近——排序
  15. 举例说明指针的运算方法c语言,C语言中指针的使用方法
  16. mnist数据集下载及使用
  17. html表格 超链接无效,excel表格超链接失效的解决方法
  18. mysql实现oracle的同义词_Oracle 同义词synonym 学习
  19. Android P 怎样屏蔽HOME键和RECENT键
  20. 创建CHM格式电子书

热门文章

  1. 剔除与深度测试(Culling Depth Testing)相关内容
  2. 交通锥,又称锥形路标、锥形筒、红帽子、方尖碑,是一种道路交通隔离警戒设施。
  3. 计算计算机ip地址,怎么样计算电脑的IP地址、IP掩码、默认网关?
  4. SAS统计描述、作图与均值显著性检验
  5. dba+开源工具:轻量级数据库审计日志平台,违规操作无所遁形(附下载)
  6. 解决远程连接服务器没有远程桌面授权服务器的许可证问题
  7. Google谷歌中国总裁李开复将离职创业
  8. css怎么使图片变暗些
  9. rm ,rm -rf , rm -f 以及rm 命令的其他参数命令
  10. Tableau联动之工作表联动