美文网首页
Javascript 性能优化

Javascript 性能优化

作者: visitor009 | 来源:发表于2018-11-17 15:59 被阅读0次

加载

放到body底部

<body>
<script></script>
</body>

数据读取

  1. 访问局部变量 比 全局要快
 //bad
let data = {};
(function(){
  alert(data);
}())

// goods
let data = {};
(function(){
  let l_data = data;
  alert( l_data);
}())

  1. 频繁访问对象属性,请保存到变量中
// bad
if (doucment.querySdocument.querySelector('#root').offsetHeight > '100') {
  doucment.querySdocument.querySelector('#root').style.height = '200px';
}

// good
let root = doucment.querySdocument.querySelector('#root');
if (root .offsetHeight > '100') {
  root .style.height = '200px';
}

DOM操作

  1. 最小化DOM的操作次数
// bad
let root = doucment.querySdocument.querySelector('#root');
root.style.height = '100px';
root.style.width= '100px';
root.style.paddingTop= '100px';

// good 
let root = doucment.querySdocument.querySelector('#root');
root.style.cssText = 'width:100px;height:100px;padding-top:100px';

// bad
let root = doucment.querySdocument.querySelector('#root');
for (let i=0;i<10;i++) {
  root.innerHTML += i;
}
// good 
let root = doucment.querySdocument.querySelector('#root');
let container= doucment.querySdocument.createElement('div');
for (let i=0;i<10;i++) {
  container.innerHTML += i;
}
root.appendChild(container);
  1. 使用事件委托
// bad
let lis = document.querySelector('li');
for (let i=0,len=i.length; i<len; i++) {
  lis[i].addEventListener('click',function(){ /* ... */ },false);
}
// good
let wrap = document.querySelector('ul');
ul.addEventListener('click',function(e){
  let elem = e.target;
  switch (elem.id) {
    case 'nav':
      // ...
      break;
  }  
 },false);

for 循环优化

1.保存length属性

// bad 
for (let i=0; i<array.length; i++) {}

// good 
for (let i=0,len=array.length; i<len; i++) {}

2.与顺序无关的

for (let i=array.length; i-- ;) { }

垃圾回收

  1. 没用的对象
// 进行回收
obj = null;
  1. 没用事件处理程序
// DOM0级
elem.onclick = null;

// DOM2级
elem.removeEventListener('click',toggle,false);

字面量代替构造函数

// bad
let obj = new Object();
let arr = new Array();

// good
let obj = {};
let arr = [];

相关文章

  • 前端性能优化

    前端性能优化 下面是我认知的前端性能优化的策略,本书主要着手 JavaScript 优化展开阐述。 JavaScr...

  • JavaScript 性能优化

    介绍 性能优化是不可避免的哪些内容可以看做性能优化无处不在的前端性能优化 JavaScript内存管理 为什么要使...

  • Chrome 性能监控 性能分析

    Chrome开发者工具之JavaScript内存分析 前端性能优化 —— 前端性能分析 Chrome DevToo...

  • Javascript 性能优化

    Javascript最初是解释型语言,现在,主流浏览器内置的Javascript引擎基本上都实现了Javascri...

  • JavaScript性能优化

    1,web页面脚本阻塞:由于脚本会阻塞页面其他资源的下载,因此推荐将所有的 标签尽可能放到 标签的底部,可以尽量减...

  • Javascript 性能优化

    加载 放到body底部 数据读取 访问局部变量 比 全局要快 频繁访问对象属性,请保存到变量中 DOM操作 最小化...

  • javascript性能优化

    优化页面加载时间html标签加载顺序浏览器加载和执行script标签引入的js时,会暂停页面渲染,直到代码加载并执...

  • JavaScript性能优化

    如何精准测试JS的性能,通过https://jsbench.me/[https://jsbench.me/] 1....

  • JavaScript 性能优化

    作者:酸菜牛肉 文章内容输出来源:拉勾教育大前端高薪训练营课程 性能优化介绍 内存管理 ...

  • JavaScript性能优化

    1. 如何精准测试 JavaScript 性能 ● 本质上就是采集大量的执行样本进行数学统计和分析● 使用基于 B...

网友评论

      本文标题:Javascript 性能优化

      本文链接:https://www.haomeiwen.com/subject/bdnbfqtx.html