3-0 js基础 语言特性及性能优化

1、语言特性:
          内存泄露:内存没有释放,越堆越多。
垃圾回收(生命周期):
1、局部 很短 在局部中当函数完成时。已经释放了。全局变量在页面关闭的时候才被回收。
2、全局 很长
3、闭包。可长可短,只要这个变量还有用,函数中的局部变量就不会消失。
只要这个变量还有用,函数中全部的局部变量就不会消失。
只要这个变量还有用,整个做用域链上的全部局部变量斗不会消失。
function  show(){
var a=1;
var b=1;
document.onclick=function(){
alert(a);
}
}

a,b,在show调用后,都不会消失。
b,不消失的缘由:
1、稳定
2、速度
做用域链:在子级找这个东西,若是没有找父级。直到找到全局。从底层找到最高层。
递归:把比较大的事情,分散为比较小的事情。【斐铂那锲发明的】
效率很是高,可是重复的太多,影响性能。
解决方法:声明数组,将有的东西存起来。

性能优化:
【1、网络性能   
f12 network
yslow,学习工具。
减小Http请求。(文件合并)
代码压缩。
图片懒加载。
  2、执行性能】
1、稳定性
2、扩展性
3、性能。
注意:
1、尽可能不要用全局变量
2、尽可能不要用属性,用变量,属性比较慢
3、循环。
4、尽可能用正则
5、尽可能用系统自带的。
6、尽可能减小dom操做。【指的是运动】,看不到的地方停掉。
7、尽可能不要用图片,尽可能不要缩放
8、背景图平铺,尽可能用大一点的图片。
可选项:
正则更快。
字符串操做比数组快。
<script>标签尽可能放倒body的最下面。由于它能够阻塞加载。
css必定要放到上面。
相关文章
相关标签/搜索