js性能优化技巧


Posted in Javascript onNovember 29, 2015

性能优化:简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短

http:超文本协议

它的最上层是应用层 传输层 网络层 物理层
请求信息:请求行 请求头 空行 消息体
响应信息:状态行和状态码

使用值类型的ToString方法:

在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。

尽量选择html控件:

能在客户端实现的功能就在客户端实现(熟练掌握JavaScript),减少服务器的压力。数据控件选择顺序:Repeater、DataList、DataGrid。

在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。

字符串操作性能优化

(1) 使用值类型的ToString方法。

在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作 ,转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。

(2) 运用StringBuilder类

String类对象是不可改变的,对于String对象的重新赋值在本质上是重新创建了一个String对象并将新值赋予该对象,其方法ToString对性能的提高并非很显著。在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的对象,而是通过Append,Remove,Insert等方法直接对字符串进行操作,通过 ToString方法返回操作结果。

避免到服务器的不必要的往返过程

使用Page.IsPostBack避免对往返过程执行不必要的处理。
虽然您很可能希望尽量多地使用Web窗体页框架的那些节省时间和代码的功能,但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。通常,只有在检索或存储数据时,您才需要启动到服务器的往返过程。多数数据操作可在这些往返过程间的客户端上进行。

压缩js

js在页面中调用的大小写要保持一致,免得缓存了不同的文件,页面的js可以的话,写成单位的文件进行调用 。图片少用jpeg,使用gzip对网页进行压缩. 加快页面展示速度。

把调用js,尽量写在页面底部, 还有viewstate 状态也可以重写到页面低部, 也可以把viewstate进行压缩。条件是viewstate必要要用的情况之下。

Javascript 相关文章推荐
jQuery示例收集
Nov 05 Javascript
原生javaScript做得动态表格(注释写的很清楚)
Dec 29 Javascript
js判断游览器类型及版本号的代码
May 11 Javascript
基于javascript实现tab选项卡切换特效调试笔记
Mar 30 Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 Javascript
AngularJS 依赖注入详解及示例代码
Aug 17 Javascript
js实现上传图片预览方法
Oct 25 Javascript
JS作用域深度解析
Dec 29 Javascript
js使用i18n实现页面国际化的方法
May 09 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
Jul 25 Javascript
详解ES6中class的实现原理
Oct 03 Javascript
javascript实现C语言经典程序题
Nov 29 #Javascript
JavaScript学习小结(7)之JS RegExp
Nov 29 #Javascript
整理Javascript基础入门学习笔记
Nov 29 #Javascript
jquery+json实现数据二级联动的方法
Nov 28 #Javascript
JavaScript实现页面跳转的几种常用方式
Nov 28 #Javascript
Javascript页面跳转常见实现方式汇总
Nov 28 #Javascript
Javascript编程之继承实例汇总
Nov 28 #Javascript
You might like
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
PHP实现货币换算的方法
2014/11/29 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
基于jquery的图片懒加载js
2010/06/30 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
2017/01/13 Javascript
Bootstrap框架安装使用详解
2017/01/21 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
老生常谈Python基础之字符编码
2017/06/14 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
Python3.6简单反射操作示例
2018/06/14 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
Python数据可视化之画图
2019/01/15 Python
python多线程分块读取文件
2019/08/29 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
《故乡》教学反思
2014/04/10 职场文书
学校评语大全
2014/05/06 职场文书
投标授权委托书范文
2014/08/02 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
单位实习鉴定评语
2015/01/04 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python
python中__slots__节约内存的具体做法
2021/07/04 Python
mysql中整数数据类型tinyint详解
2021/12/06 MySQL