• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

竹千代

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Javascript

一、组成成分

script:脚本语言部分

DOM:把页面结构映射到js对象

BOM:浏览器信息,如Navigator、Location等

 

二、能力

script:脚本程序能力

DOM:

  页面结构其实就是XML —— JS也有很好解析XML能力

浏览器:

  Http请求带ip信息到服务器 —— 读取ip(Geolocation API)

  上传本地文件        —— 读取本地文件(File API)

  浏览器上可以显示页面加载时间  —— 读取加载效率信息(performance对象)

  缓存           —— cookie、storage、IndexedDB 

 

三、性能

script:

  1. 查询变量方式,是从内往外一层层的作用域查找   —— 少用全局变量;用临时变量保存全局变量
  2. 属性查找的时间复杂是O(n)                           —— 多次多层属性查找时,用临时变量保存前面部分
  3. 内存采用垃圾回收机制                                     —— 不需要的对象,取消变量对它的引用
  4. 闭包,会保留外部函数作用域内全部变量               —— 外部函数不需要的对象,要取消对它引用
// 大的全局变量不需要再使用时,可以取消对它的引用,便于内存回收
xx = f(Global_Var);
Global_Var = null; 
// 存在闭包函数,所以外部函数全部变量引用的内存都不会被回收
// 于是ele这个大内存,会一直留着而不被回收
function(){
    var ele = document.getElementById("myId");
    return function() {
        return ele.value;
    }
}

function(){
    var ele = document.getElementById("myId");
    var value = ele.value;       
    ele = null;    // 取消ele对dom内存的引用关系,那么dom内存不再有引用指向它,可以被回收
    return function() {
        return value;
    }
}
    

DOM:

  1. 操作dom消耗内存和CPU非常大                      —— 尽量少次数更新dom树

 

posted on 2015-07-31 07:09  竹千代  阅读(160)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3