zoukankan      html  css  js  c++  java
  • 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一定要放到上面。
  • 相关阅读:
    由ping百度引发的思考
    操作系统 | 概述
    操作系统导论第四章 | 抽象:进程
    汇编语言 | 定制键盘输入的处理过程
    细数 TS 中那些奇怪的符号
    vue 各种 import 引入
    display:table-cell实现水平垂直居中
    Jquery判断单选框是否选中和获取选中的值
    css整理 -- 右箭头,上下箭头,三角形、超出省略号代替
    JQuery操作select下拉框
  • 原文地址:https://www.cnblogs.com/wujiaolong/p/7443069.html
Copyright © 2011-2022 走看看