js总结(四):关于高性能
2024-09-30 08:42:20
参考《高性能网站建设进阶指南》
不仅仅关注页面加载时间,也要关注下页面操作时的相应速度。页面操作是我们写程序中 实实在在需要的
1、使用局部变量
任何非局部变量,在函数中使用次数超过一次时,就应该将其变成局部变量。
var setName = function (){
if(!$("#name").val()){
$("#name").val("ddd");
}
}
//下面应该变成一个局部变量
var setName = function (){
var $name= $("#name");
if(!$name.val()){
$name.val("ddd");
}
}
全局变量对象始终是作用域中的,最后一个;所以对全局变量的解析是最耗时的。
2、数据存储的位置
4种地方可以存储:字面量值、变量、数组元素、对象属性
字面量值和局部变量中读取值的开销差异很小,可以忽略不计。主要差别是数组和对象中读取值。
在循环,将函数中使用超过一次的对象属性或者数组元素,存储为一个局部变量
var a = ["a","b","c"]
for(var i =0 ;i<a.length){
console.log( a[i]) }
//减少读取数据的长度
var a = ["a","b","c"]
var b =a.length;
for(var i =0 ;i<b){
console.log( a[i]) }
3、流控制
流程的控制是提升性能的重要一环。条件判断,尽可能尽快结束。当仅判断一两个条件时,if语句通常比switch更快。当有2个以上条件判断且条件比较简单时(不是进行范围判断),switch语句更快。
4、减少dom操作
如果必须dom操作,在没显示之前,可以先隐藏再dom操作
最新文章
- 使用nmap工具查询局域网某个网段正在使用的ip地址
- 条款19:设计class犹如设计type
- 在Xcode中使用Git进行源码版本控制
- hdu 1203 概率+01背包
- BUG描述规范
- [WPF疑难]Hide me! not close
- AC自己主动机 总结
- 【转】sed 的参数
- 慢慢来写SpringMVC基本项目
- WebApi 的三种寄宿方式 (一)
- 3.认识Angular2组件之1
- nginx1.14.0版本高可用——keepalived双机热备
- MongoDB集群的搭建
- Ant和Maven
- python 优先队列
- tomcat7时遇到启动报错问题 SEVERE: ContainerBase.addChild: start:
- Codeforces Round #359 (Div. 2) B. Little Robber Girl&#39;s Zoo 水题
- [译]C语言实现一个简易的Hash table(2)
- fiddler的断点使用
- [LeetCode] Largest Rectangle in Histogram O(n) 解法详析, Maximal Rectangle
热门文章
- Bits Equalizer UVA - 12545
- Java对象的内存布局以及对象的访问定位
- B. Connecting Universities DFS,无向树
- C. Arpa&#39;s loud Owf and Mehrdad&#39;s evil plan DFS + LCM
- 前端编辑神器---sublime text2
- 外文翻译 《How we decide》被情感愚弄 第一节
- 使用原生javascript实现jquery的$(function(){ })
- AJPFX总结线程创建的两种方法
- Android Learning Note -- AsyncTask浅尝
- InvocationTargetException异常的深入研究-servlet的setAttribute与getAttribute